我在服务端开始监听时bind方法绑定的IP,开始我用的是本机测试可以绑定成功用127.0.0.1,和用配置的本机的IP都能成功,但是我用局域网的别的电脑的IP就不行了 ,这是为什么,不能绑定别的电脑的IP吗?
try
            {
                myIP = IPAddress.Parse(textBox1.Text);
            }
            catch
            { MessageBox.Show("你输入的ip格式不对,请重新输入"); }
            try
            {
                MyServer = new IPEndPoint(myIP,Int32.Parse(textBox2.Text));
                socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
                //socket.Connect(MyServer);
                socket.Bind(MyServer);
                socket.Listen(50);
                toolStripStatusLabel1.Text = "主机:" + myIP + "端口:" + textBox2.Text + "开始监听....";                Thread thread = new Thread(new ThreadStart(targett));
                thread.Start();
            }
            catch (SocketException ee) { toolStripStatusLabel1.Text = ee.Message; }
用别的电脑的IP会出现,在其上下文中,该请求的地址无效。

解决方案 »

  1.   

    Socket.Bind 方法   使 Socket 与一个本地终结点相关联。
      

  2.   

    http://news.u88.cn/zx/itqitafenlei4/419210.htm
      

  3.   

    //socket.Connect(MyServer);     
    用Connect也行吧
      

  4.   

    3楼  上Connect是连接到服务端,我这就是服务端,不能用这个方法。
      

  5.   

    1楼  上的socket  bind是与  本地   的终点关联,但是我要监听到客户端要怎么做?
      

  6.   

    嗯,比如说我的服务器的IP地址是10.10.2.6而客户端的IP地址是10.10.2.20我要让两边连接起来端口是2233(没有被占用)我的绑定方法是不是就要这样写bind("10.10.2.20",2233)但是我这样写就会出现在其上下文中,该请求的地址无效。          如果是这样我要怎么解决??
      

  7.   

    服务器
    bind("10.10.2.6",2233)客户端
    Connect("10.10.2.6");
    当然客户端也可以指定IP进行Connect
      

  8.   

    太感谢你了8#, 我开始也在msdn上看到是  本地  但是我测试了一下没有成功,可能是我没有设置好,没有成功,我刚刚测试了一下成功了,谢谢。
      同时也谢谢所有给于回答的朋友哈。