我需要使用1台电脑2张网卡连接2台设备,网卡IP不同,设备的IP是一样的,C#下如何使用SOCKET

解决方案 »

  1.   

    socket不是可以指定ip的吗,你用哪个网卡就用那个ip
      

  2.   

     如果pc是server,可以根据不同的ip开启侦听,2台设备同一ip也无所谓,他们的端口不同
    如果设备室server短,那么可以开启两个端口来侦听
      

  3.   

    Socket.Bind方法就是绑定本地ip的
      

  4.   


    我用TcpClient 有办法吗?绑定本机某一个网卡IP, 去连接服务器设备吗? 
      

  5.   


                IPAddress ipAddress = IPAddress.Parse("192.168.1.2");
                IPAddress remoteIpAddress = IPAddress.Parse("192.168.1.35");
                IPEndPoint ipLocalEndPoint = new IPEndPoint(ipAddress, 0);
                TcpClient tcpClientA = new TcpClient(ipLocalEndPoint);
                tcpClientA.Connect(remoteIpAddress, 1111);
      

  6.   

    谢谢你!本机的IP地址与服务器端口号 ,不用一致吗?比如IP1 用3号端口 ,IP2 用4号端口。 2个设备服务器端口都是23?还是必须2个本机IP地址必须全用23端口?
      

  7.   

    那你就设置一下端口就可以了。看看msdn的帮助吧。
      

  8.   

    connect指定服务器的端口这个必须一致。本地指定为0那就是随机的。指定固定的也是可以的。