有多个客户端连接服务器
如果用socket获取多个客户端的ip跟端口号 小弟刚接触这个 不是很懂
还有一个问题socket里面的监听是时时监听么 只要有信息 服务器端就会获取么
最好有代码例子讲解socket监听是怎么个意思 十分感谢

解决方案 »

  1.   

    建议用Remoting "我的资源"里有源码...
    不是你的资源...
      

  2.   

    服务器端是一个死循环,是不停地接受连接,提供服务,调用Listen之后服务器就开始监听了,下面就是要Accept了,只要有连接,Accept就会返回一个新的套接字;也可以说是时时监听吧,我自己写了一个QQ,模仿腾讯的QQ,已经上传上去了,你可以下下来看看。
      

  3.   


                    string hostname = Dns.GetHostName();
                    IPAddress ip = Dns.GetHostEntry(hostname).AddressList[0];
                    //产生一个服务器端Socket对象
                    server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    //绑定ip和端口
                    server.Bind(new IPEndPoint(ip, port));
                    this.rtxtMsg.AppendText(String.Format("服务器已绑定IP为{0},端口为{1}。\r\n",ip.ToString(),port.ToString()));
                    //开始监听
                    server.Listen(10);
                    //开始接收客户请求,只接收一次,获取客户Socket对象
                    client = server.Accept();
                    
                    this.rtxtMsg.AppendText(String.Format("已经成功接收到来自客户的连接请求,并建立连接!"));实例代码,稍作修改使用。
      

  4.   

    如果需要接受多个客户端
    //client = server.Accept();
    //替换成
    do
    {
        Socket client = server.Accept();
    }while(true)做成死循环就可以与多个客户端连接。
    如果需要查找连接的客户端,就需要把Socket的声明放在外面。
      

  5.   

    看看我的博客。我最近刚做了一个。http://blog.csdn.net/ff19880218/article/details/6589100