在基于Windows CE 5.0的POS设备上的.NET CF中,如果没有可用的连接(GPRS / WiFi),当我尝试连接我的套接字对象时,我没有任何例外,即使在它之后,当我尝试通过Socket.SentTo()方法将字节发送到某处我也没有任何异常!甚至表示完全发送字节大小的返回值也是正确的!怎么了?我怎样才能确保运营的健康? 我的代码:
Socket m_socClient = new Socket(
AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress ipAdd = IPAddress.Parse("192.168.7.80");
IPEndPoint remoteEP = new IPEndPoint(ipAdd, 2415);
m_socClient.Connect(remoteEP); // No exception!
// why works?
int iSent = m_socClient.SendTo(byData, byData.Length,
SocketFlags.None, remoteEP);
答案 0 :(得分:1)
很少有建议:
检查连接的Connected属性
我理解SendTo更适合无连接协议,Send()更适合面向连接的协议,如TCP。
如果没有要发送的数据,Send()(我希望SendTo())可能没有效果。你检查过有数据吗?