假定我现在有台有N块网卡的机器,各网卡均有一各IP,均可以接入网络,如果用
TServerSocket来编写可以接收所有网卡的数据的程序,该怎么办,TServerSocket中没有有关设置IP的项,他的IP地址是默认的是本机地址?可本机有这么多个地址??
该怎么办望指教,或能给个方案!!!多谢了!!

解决方案 »

  1.   


    http://idoor.xiloo.com 
    在可靠性要求高的应用中,要求使用双网和多网络通道,再服务方很容易实现,用如下方式可建立客户对本机所有IP地址在端口3024下的请求服务。 SOCKET hServerSocket_DS=INVALID_SOCKET; struct sockaddr_in HostAddr_DS;//服务器主机地址 LONG lPort=3024; HostAddr_DS.sin_family=AF_INET; HostAddr_DS.sin_port=::htons(u_short(lPort)); HostAddr_DS.sin_addr.s_addr=htonl(INADDR_ANY);   hServerSocket_DS=::socket( AF_INET, SOCK_STREAM,IPPROTO_TCP);   if(hServerSocket_DS==INVALID_SOCKET) { AfxMessageBox("建立数据服务器SOCKET 失败!"); return FALSE; }   if(SOCKET_ERROR==::bind(hServerSocket_DS,(struct sockaddr *)(&(HostAddr_DS)),sizeof(SOCKADDR))) { int  nErrorCode=WSAGetLastError (); TRACE("bind error=%d\n",nErrorCode);                AfxMessageBox("Socket Bind 错误!"); return FALSE; } if(SOCKET_ERROR==::listen(hServerSocket_DS,10))//10个客户 { AfxMessageBox("Socket listen 错误!"); return FALSE; } AfxBeginThread(ServerThreadProc,NULL,THREAD_PRIORITY_NORMAL); 
      

  2.   

    能用TServerSocket的组件实现吗???
      

  3.   

    TServerSocket是BC的组件吧,它只能有一个IP绑定,想多个,多个实例才行,然后自己写通讯机制吧。