我在Windows Mobile 6.5设备上的dot net compact framework 3.5上运行C#应用程序,该设备利用TcpClient和NetworkStream将字节数组发送到主机PC上运行的服务。它必须能够通过将设备插入通讯座并通过Windows Mobile设备中心进行通信,该设置允许设备连接到PC时进行数据连接。 我收到以下错误'无法从传输连接中读取数据'。当同一设备通过wifi连接到网络时,它可以很好地工作,但这不是一个选项,因为没有wifi将被部署。下面的代码片段中的nwStream.Write行发生错误:
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;
}