机器上有多块网卡,Broland SocketServer 怎么绑定其中的一个ip?首先,我还不知道怎么抓出机器上的ip数量和所有ip。(只能抓一个)在服务器上,多网卡是很正常的事情,那么socketserver怎么绑定在某个ip上?好像broland没有把这个功能加进去。要怎么改程序?急,大家帮忙,谢啦先!

解决方案 »

  1.   

    刚才测了一下,我这里的机器有一块网卡,但是上面绑定了多个ip,我启动了socketserver以后连接多个ip都是可以的。就是说这个网卡上的多个ip的同一个端口都被占用了。我再测一下有两块网卡的。
      

  2.   

    多块网卡的效果也相同!!那怎么样才能把这个socket服务绑定在一个ip上哪?
      

  3.   

    TO : sh_work(乖宝宝) (我这里的机器有一块网卡,但是上面绑定了多个ip
    如此做到这点????谢谢。
      

  4.   

    晕,你怎么问起我来了…………TO:delphi1234567
      ip设置里面,高级,ip设置里面添加。ok
      

  5.   

    这也算回答,我知道有source,但是我不会改,所以才发帖求助呀。
      

  6.   

    用api,
      If WSAStartup(MAKEWORD(2,2), MyWSA) <> 0 Then  //初始化
      Begin
        WSACleanup;
        Writeln('WSAStartup() Fail');
        Exit;
      end;
      hSocket := Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //创建socket
      If hSocket = INVALID_SOCKET Then
      Begin
        WSACleanup;
        Writeln('Socket() Fail');
        Exit;
      End;
      Svr.sin_family := AF_INET;
      Svr.sin_port := htons(176); //server端口号为176
      Svr.sin_addr.S_addr := inet_addr(PChar('127.0.0.1'));//server的ip地址为127.0.0.1
      If Bind(hSocket, Svr, SizeOf(Svr)) = SOCKET_ERROR Then  //绑定socket
      Begin
        CloseSocket(hSocket);
        WSACleanup;
        Writeln('Bind() Fail');
        Exit;
      end;
    ......