1. 程式人生 > >C++建立和運用socket連結池

C++建立和運用socket連結池

public class XieGouSocket
 {
  public Socket m_socket;  //Socket物件
  public bool m_isFree;  //判斷能不能空閒
  public int m_index;  //在連結快取池中的索引值
 }
     下面的函式是建立 socket連結池,這裡為了使程式碼更加清晰,我特地把異常處理部分全部取掉了。
 public XieGouSocket[] m_socket; //先定義個緩衝池
 public void  CreateSocketPool()
 {
  string ip= “127.0.0.1”; 
 string port= 2003;
  IPAddress serverIp=IPAddress.Parse(ip);
  int serverPort=Convert.ToInt32(port);
  IPEndPoint iep=new IPEndPoint(serverIp,serverPort);
  m_socket = new XieGouSocket[200];
  for(int i =0; i < 200 ; i ++)
  {
   m_socket[i] = new XieGouSocket();
   m_socket[i].m_index = i ;
   m_socket[i].m_isFree = true;
   m_socket[i].m_socket =new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
   m_socket[i].m_socket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.SendTimeout,1000); 
   m_socket[i].m_socket.Connect(iep);
  }
 }