c# Socket BinaryReader接收流的问题
private void Listen()
{
_socket.Bind(_ipPoint);
_socket.Listen(200);
while (IsExit)
{
allDone.Reset();
_socket.BeginAccept(new AsyncCallback(ReadCallBack), _socket);
allDone.WaitOne();
}
}
private void ReadCallBack(IAsyncResult ar)
{
Socket socket = (Socket)ar.AsyncState;
Socket ClientSocket = socket.EndAccept(ar);
allDone.Set();
}
如果用socket.Receive 方法只能接收byte数组。
想请问下在如何用回调的方法来接收客户端发过来的数据流(长连接) 例:
NetworkStream stream = new NetworkStream(ClientSocket, true);
BinaryReader br = new BinaryReader(stream);
现在用while方法太占用资源。可不可以用类似于 socket.Receive里回调的方法实现?