private void recievecallback(IAsyncResult AR) //回发数据个客户端
{
try
{
Socket Rsocket = (Socket)AR.AsyncState;
int Rend = Rsocket.EndReceive(AR);
for (int i = 0; i < clientnum; i++)
{
if (clientsocket[i].Connected)
{
clientsocket[i].Send(msgbuffer, 0, Rend, 0);
}
Rsocket.BeginReceive(msgbuffer, 0, msgbuffer.Length, 0, new AsyncCallback(recievecallback), Rsocket);
}
}
catch
{ }
}
private void receivecallback(IAsyncResult AR)
{
try
{
int Rend = clientsocket.EndReceive(AR);
listBox1.Items.Add(Encoding.Unicode.GetString(msgbuffer, 0, Rend));
clientsocket.BeginReceive(msgbuffer, 0, msgbuffer.Length, 0, new AsyncCallback(receivecallback), null);
}
catch
{
MessageBox.Show("已经与服务器断开!");
}
}
clientsocket.BeginReceive(msgbuffer, 0, msgbuffer.Length, 0, new AsyncCallback(receivecallback), null); 为什么又new AsyncCallback(receivecallback),这儿,然后是不是又从receivecallback重新开始?
斯蒂芬大帝
相关分类