110,530
社区成员
发帖
与我相关
我的任务
分享
TcpListener l = (TcpListener)ar.AsyncState;
TcpClient client = l.EndAcceptTcpClient(ar);
try
{
NetworkStream ns = client.GetStream();
data = new Byte[client.ReceiveBufferSize];
ns.BeginRead(data, 0, data.Length, new AsyncCallback(myReadCallBack), ns);
}
public void myReadCallBack(IAsyncResult ar)
{
NetworkStream ns = (NetworkStream)ar.AsyncState;
int dataSize = ns.EndRead(ar);
Byte[] realData = new Byte[dataSize];
for (int i = 0; i < dataSize; i++)
{
realData[i] = data[i];
}
data = null;
Byte[] returnBytes;
int operation = Convert.ToInt32(realData[1]);
if (operation == 0)
{
returnBytes = doConnect();
}
else
{
returnBytes = null;
}
ns.Write(returnBytes, 0, returnBytes.Length);
}
ns.BeginRead(data, 0, data.Length, new AsyncCallback(myReadCallBack), ns);
IAsyncResult ar=ns.BeginRead(data, 0, data.Length, new AsyncCallback(myReadCallBack), ns);
ar.AsyncWaitHandle.WaitOne()