程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> iocp-C# IOCP模式下服務器主動發送消息

iocp-C# IOCP模式下服務器主動發送消息

編輯:編程綜合問答
C# IOCP模式下服務器主動發送消息

http://blog.csdn.net/zhujunxxxxx/article/details/43573879
服務器端代碼是參考這篇帖子的。
我想要實現,按下按鈕,然後往所有當前連接上的客戶端發送數據。
但是從SocketAsyncEventArgsPool 對象池裡pop一個SocketAsyncEventArgs e,然後發送數據。
發送函數裡的Socket s = e.AcceptSocket會出現未實例化的錯誤。
發送函數如下
public void Send(SocketAsyncEventArgs e, byte[] data)
{
if (e.SocketError == SocketError.Success)
{
Socket s = e.AcceptSocket;
if (s.Connected)
{
Array.Copy(data, 0, e.Buffer, 0, data.Length);
if (!s.SendAsync(e))
{
ProcessSend(e);
}
else
{
CloseClientSocket(e);
}
}
}
}

這原因是什麼你

最佳回答:


SocketAsyncEventArgs對象池並不會把連接上的客戶端對象存起來。
需要在客戶端第一次連接服務器時,將客戶端的Socket對象存起來。
主動發送數據時在取來給SocketAsyncEventArgs

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved