当有一个更早的异步调用正在进行时,不能阻止调用此套接字
拔剑自然神 2013-09-29 02:22:11 SocketClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
SocketClient.BeginConnect(remoteEP, new AsyncCallback(ConnectCallback), SocketClient);
…………
SocketClient 为一个异步连接的Socket会话如上
下面的是一个开启线程的发送心脏包数据
SocketClient.Send(ComTools.Clear(@"08\00\40\00\00\00\12\01"));
将文本的字符转换为16进制的发送出去。
public static byte[] Clear(string clear)
{
string[] strVal = clear.Split('\\');
byte[] sendByte = new byte[strVal.Length];
for (int i = 0; i < strVal.Length; i++)
{
try
{
sendByte[i] = (byte)Convert.ToInt16(strVal[i], 16);
}
catch (Exception e)
{
throw (e);
}
}
return sendByte;
}
出现下面的错误,
当有一个更早的异步调用正在进行时,不能阻止调用此套接字
是不是需要用委托来处理SocketClient的Send方法还是转换为16进制的数据?
委托具体怎么用,大神们,指点迷津,非常感谢。