19,502
社区成员
发帖
与我相关
我的任务
分享
public void ASend(byte[] SendData)
{
if (SendData == null)
{
return;
}
try
{
mSocket.BeginSend(SendData, 0, SendData.Length, 0, new AsyncCallback(SendCallBack), mSocket);
}
catch (Exception ex)
{
if (onClosed != null)//发送出现异常,则执行onClosed委托事件,
{
onClosed(ID, "在线Socket发送数据出错" + ex.Message);
}
}
}
private void TheListener_OnAccept(Maunite.Common.AsySocket AcceptedSocket)
{
AcceptedSocket.OnStringDataAccept += new Maunite.Common.StringDataAcceptHandler(Accept_OnStringDataAccept);//注册接收在线消息的事件
AcceptedSocket.OnClosed += new Maunite.Common.AsySocketClosedEventHandler(Accept_OnClosed);//注册监听在线消息关闭的事件
try
{
AcceptedSocket.BeginAcceptData();//这个原型代码在下面
}
catch (ArgumentNullException ex)
{
//
}
//添加客户端
theClient.Add(AcceptedSocket.ID, AcceptedSocket);
}
private void Accept_OnStringDataAccept(string AccepterID, string AcceptData)
{
MsgRef msgref = new MsgRef(ReceiveMessage);//MsgRef是申明的委托
this.BeginInvoke(msgref, new object[] { AcceptData });
}
private void ReceiveMessage(string id, string msg)
{
try
{
string[] msgList = msg.Split('|');
if (msg.Length < 1)
{
return;
}
//code
}
}
//BeginAccept原型
public void BeginAcceptData()
{
try
{
//开始接收数据
StateObject state = new StateObject();
state.workSocket = mSocket;
mSocket.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReceiveCallback), state);
}
catch (SocketException ex)//
{
if (onClosed != null)
{
onClosed(ID, "在线Socket发送数据出错" + ex.Message);
}
}
}