TCPClient unter Windows Mobile 6.5 -Gerät kann beim Anlegen nicht kommunizieren
Posted: 12 Mar 2025, 01:00
Ich habe eine C# -Anwendung auf DOT Net Compact Framework 3.5 auf einem Windows Mobile 6.5 -Gerät, das TCPClient und NetworkStream verwendet, um ein Byte -Array an einen Dienst zu senden, der auf dem Host -PC ausgeführt wird. Es muss in der Lage sein, zu kommunizieren, indem es das Gerät in einer Wiege anschließt und über Windows Mobile Device Center angeschlossen wird, das so eingestellt ist, dass Datenverbindungen auf dem Gerät auf dem PC angeschlossen werden.
Ich erhalte den folgenden Fehler "Daten nicht aus der Transportverbindung". Es funktioniert perfekt, wenn dasselbe Gerät über WLAN mit dem Netzwerk verbunden ist. Dies ist jedoch keine Option, da es kein WLAN gibt, in dem es bereitgestellt wird. Es ist die Nwstream.write -Zeile im Code -Snippet unten, wo der Fehler auftritt: < /p>
Ich erhalte den folgenden Fehler "Daten nicht aus der Transportverbindung". Es funktioniert perfekt, wenn dasselbe Gerät über WLAN mit dem Netzwerk verbunden ist. Dies ist jedoch keine Option, da es kein WLAN gibt, in dem es bereitgestellt wird. Es ist die Nwstream.write -Zeile im Code -Snippet unten, wo der Fehler auftritt: < /p>
Code: Select all
public bool PostInitialData(string ipAddress, int portNo, string dataString)
{
bool retVal = true;
try
{
IPAddress stringIPAddress = IPAddress.Parse(ipAddress);
TcpClient tcpClient = new TcpClient();
tcpClient.Connect(stringIPAddress, portNo);
NetworkStream nwStream = tcpClient.GetStream();
byte[] bytesToSend = Encoding.ASCII.GetBytes(dataString);
//---send the text
nwStream.Write(bytesToSend, 0, bytesToSend.Length);
//---read back the text
byte[] bytesToRead = new byte[tcpClient.ReceiveBufferSize];
int numBytesRead = nwStream.Read(bytesToRead, 0, tcpClient.ReceiveBufferSize);
string serverResponse = Encoding.ASCII.GetString(bytesToRead, 0, numBytesRead);
tcpClient.Close();
if (serverResponse != "OK")
{
retVal = false;
}
}
catch (Exception ex)
{
LogError.ErrorHandler.LogErrorDetail(ex);
retVal = false;
}
return retVal;
}