2010-07-10 185 views
1

我試圖爲Windows Mobile 6 Professional的PDA製作一個TCP客戶端應用程序。 我試圖讓它在我的筆記本電腦上第一次使用。 「智能設備」的代碼是相同的,但它不起作用。WM6的C#TCP客戶端

這是代碼:

// 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應用程序/ NET3.5)並且不在PDA(智能設備/ NETCF3.5)上?任何建議?

在此先感謝!

+0

你如何通過PDA連接到網絡? PDA是否可以訪問192.168.1.68?您可以使用http://wmnettools.codeplex.com/來調試網絡問題。 – codekaizen 2010-07-10 03:09:39

+0

這就是我所擁有的:一臺筆記本電腦,帶有WiShield的Arduino(如果你不知道它是什麼,它的硬件有一個TCP堆棧和一個運行在其中的TCP服務器)以及一個PDA(HTC Touch with WM6)。用我的筆記本電腦我沒有問題。我可以「ping」192.168.1.68並從它發送/接收消息。與PDA似乎連接,但我無法接收/發送數據。出於測試目的,防火牆被禁用。我會嘗試你提到的應用程序。 – msr 2010-07-10 03:24:33

+0

在給出「Net Tools」之後,試一試,這是我得到的結果:「Request timed out」「Request timed out」「Request timed out」「ERROR,NetToolsV2.exe中發生了本機異常。令人沮喪...爲什麼PDA無法達到192.168.1.68?即使禁用了防火牆? – msr 2010-07-10 03:30:37

回答

0

檢查您的防火牆,並確認您的服務器正在運行。

我不確定你爲什麼看不到錯誤信息;嘗試將它投射到SocketException並提取ErrorCode

+0

防火牆已禁用,但仍然出現此錯誤。無法連接到TCP服務器。 – msr 2010-07-10 03:21:13

1

我想我發現了這個問題。當我的PDA通過USB連接到我的筆記本電腦時,WiFi被禁用。 Arghhh我只是從我的筆記本電腦斷開PDA,現在我無法發送/接收來自192.168.1.68的消息。

謝謝你的提示!