比如我机子是TCP服务器,有多个客户端通过TCP协议连我,怎么把一条消息发给指定的客户端?

解决方案 »

  1.   

    拿到用的不是socket?套接了。
      

  2.   

    一般的作法都会有识别ID吧
    class Client
    {
        int m_id;
        Socket m_sock;
        Client(int id, Socket sock)
        {
            m_id = id;
            m_sock = sock;
        }
    }
    class Server
    {
        Hashtable m_clients;
        Socket m_server;
        .... // 省略
        void Accept()
        {
             Socket newClient = m_server.Accept();
             byte[] data = new byte[1024];
             newClient.Receive(data,0,1024);
             int id = Convert.ToInt32(new AsciiEncoding().GetString(data));
             m_Clients.Add(id,new Client(id,sock));
        }
        void Send(int id,byte[] data)
        {
            Socket sock = (Socket)m_clients[id];
            sock.Send(data);
        }
    }