2010-07-10 4 views
1

Im пытается сделать клиентское приложение TCP для КПК с Windows Mobile 6 Professional. Я попытался сделать это на своем ноутбуке, и это сработало. Код для «умного устройства» - это то же самое, но он не работает.Клиент C# TCP для WM6

Здесь код:

// IP and Port 
string IP = "192.168.1.68"; 
int port = 1000; 

// TCP connection 
TcpClient connection; 
StreamReader TCPreader; 
StreamWriter TCPwriter; 

//(...) 

    try 
    { 
     connection = new TcpClient(IP, port); 
     NetworkStream stream = connection.GetStream(); 
     TCPreader = new StreamReader(stream); 
     TCPwriter = new StreamWriter(stream); 

     // wait for welcome message 
     status_label.Text = TCPreader.ReadLine(); 
    } 
    catch(Exception ex) 
    { 
     MessageBox.Show("ERROR: " + ex.Message); 
    } 

Исключение брошено на "ReadLine()" метод вызова. Я не могу получить сообщение, иначе я получаю что-то вроде этого: «это сообщение об исключении не установлено, вам нужно установить NETCFv35.messages.en.cab». Я уже установил этот .cab, но получаю то же сообщение.

Что происходит не так? Почему этот код работает на моем ноутбуке (WinForms app/NET3.5) и не работает на КПК (Smart Device/NETCF3.5)? Любое предложение?

Заранее благодарен!

+0

Как вы подключаетесь к сети через КПК? Доступен ли 192.168.1.68 КПК? Вы можете использовать http://wmnettools.codeplex.com/ для отладки сетевых проблем. – codekaizen

+0

Это то, что у меня есть: ноутбук Arduino с WiShield (если вы не знаете, что это такое, его аппаратное обеспечение с TCP-стеком и работающий в нем TCP-сервер) и КПК (HTC Touch с WM6). С моим ноутбуком у меня нет проблем. Я могу «ping» 192.168.1.68 и отправлять/получать сообщения от него. С КПК, похоже, подключается, но я не могу получать/отправлять данные. Брандмауэр отключен для целей тестирования. Я попробую приложение, которое вы указали. – msr

+0

Ну, после предоставления «Чистых инструментов», попробуйте, вот что я получаю: «Тайм-аут запроса» «Тайм-аут запроса» «Тайм-аут запроса» «ОШИБКА, собственное исключение возникло в NetToolsV2.exe». Разочарование ... Почему КПК не может достичь 192.168.1.68? Даже с отключением брандмауэра? – msr

ответ

0

Проверьте свой брандмауэр и убедитесь, что ваш сервер запущен.

Я не уверен, почему вы не видите сообщения об ошибках; попробуйте лить его на SocketException и извлеките ErrorCode.

+0

Брандмауэр отключен, и я все еще получаю эту ошибку. Не удается подключиться к TCP-серверу. – msr

1

Я думаю, что нашел проблему. Пока мой PDA подключен через USB к моему ноутбуку, WiFi отключен. Arghhh Я просто отсоединяю КПК от своего ноутбука, и теперь я не могу отправлять/получать сообщения из 192.168.1.68.

Спасибо всем за ваши намеки!