WinCE 6.0, работа с GPRS / WiFi - PullRequest
3 голосов
/ 06 марта 2012

Я работаю над проектом, который должен подключаться к серверам через Wi-Fi / GPRS.Project - это приложение для устройства Windows CE 6.0, я пишу в Visual Studio 2008 на C #.

У меня есть два сервера для работы.Первый я должен подключить через Wi-Fi, второй - через GPRS.Поэтому мне нужно знать, как я могу изменить способ подключения между Wi-Fi и GPRS?

Я нашел и попробовал так: я включаю Wi-Fi и GPRS на моем устройстве.Так что я работаю через Wi-Fi, потому что он имеет более высокий приоритет.Когда мне нужно работать через gprs, я отключаю wifi (функция SetDevicePower).Но когда я включаю Wi-Fi, он не подключается к моей предпочитаемой сети.

Также я слышал о том, как программно изменить приоритет между gprs / wifi в таблице приоритетов ОС, но я не нашел ничегоинформация о том, как это сделать.

Я надеюсь, что вы можете мне помочь.

1 Ответ

2 голосов
/ 06 марта 2012

Я бы использовал команду route из оболочки.

Допустим,

server1 ip: 123.123.123.1
server2 ip: 123.123.123.2

wifi ip   : 192.168.1.101
   gateway: 192.168.1.1

gprs ip   : 10.1.2.3
   gateway: 10.1.1.1

Теперь вы можете извиниться в командной строке

route add 123.123.123.1 MASK 255.255.255.255 192.168.1.1

и

route add: 123.123.123.2 MASK 255.255.255.255 10.1.1.1

Это должно направить весь трафик на сервер 1 через wifi и на сервер 2 через gprs, не меняя ни одной строки кода в вашем приложении.

Вы можете проверить, что он работает с

tracert 123.123.123.1
tracert 123.123.123.2

Однако вы можете использовать свое приложение для периодического выполнения этой задачи (я полагаю, что gprs ip может время от времени меняться) с Process.Start (...)

- delete route 1
- add route 1
- delete route 2
- add route 2

Вы дажеможно указать интерфейс с помощью переключателя IF 2 (в списке маршрутов печатается идентификатор интерфейса для ваших сетевых карт).

Еще один интересный пост для чтения: http://ce4all.blogspot.com/2007/05/routing-ip-traffic-via-specified.html

Автор используетGetAdapterAddresses () и CreateIpForwardEntry () P / Вызывает:

http://msdn.microsoft.com/en-us/library/ms927384.aspx

http://msdn.microsoft.com/en-us/library/ee495149%28v=winembedded.60%29.aspx

...