作者Turbine (特而)
看板C_Sharp
标题[问题] 不懂AsyncCallback的用法
时间Wed Jan 24 11:30:24 2007
我看到网路上的范例
建立连线这样写
socket.BeginConnect(remoteEP,
new AsyncCallback(ConnectCallback), socket);
connectDone.WaitOne();
Reset();
功力太弱看不懂...
我再去看它里面有一各ConnectCallback方法
看样子会呼叫到这各方法
为何要写一各client.EndConnect(ar);
不是要建立连线吗 为何要结束搁置的非同步连接要求
private void ConnectCallback(IAsyncResult ar) //AsyncCallback 使用 IAsyncResult 介面,来取得非同步作业的状态
{
Socket client = null;
try
{
// Retrieve the socket from the state object.
client = (Socket)ar.AsyncState;
// Complete the connection.
client.EndConnect(ar);
// Signal that the connection has been made.
connectDone.Set();
}
catch (Exception e)
{
Disconnect();
//throw(new ApplicationException("Unable to connect to " +
// client.RemoteEndPoint.ToString(), e));
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.154.192.30