C
Carson_zzd
Unregistered / Unconfirmed
GUEST, unregistred user!
现在的问题是系统中已经存在一个socket服务,可以监听一个端口发来的数据<br>现在客户有了新的需求,要求通过不同的端口发送数据,但是服务端程序要是一个。不能开启两个服务,不知应该如何实现~~<br>[**要求:系统中只有一个服务,可以读取不同端口的数据**]<br>部分代码:<br> // 得到本地监听端口<br> port := g_ItemSingleton.SocketConfig.LocalListenPort;<br><br> g_ServerSocket := socket(PF_INET, SOCK_STREAM, IPPROTO_IP);<br> if g_ServerSocket = INVALID_SOCKET then<br> raise ESocketException.Create('创建监听Socket错误');<br><br> sa.sin_family := PF_INET;<br> sa.sin_port := htons(port);<br> sa.sin_addr.S_addr := INADDR_ANY;<br> if bind(g_ServerSocket, sa, sizeof(sa)) = SOCKET_ERROR then<br> begin<br> raise ESocketException.Create('绑定监听Socket错误,请检查是否有服务在监听' + IntToStr(port) + '端口!');<br> closesocket(g_ServerSocket);<br> Exit;<br> end;<br> listen(g_ServerSocket, 5);<br><br>上面的代码可以监听一个端口,一个以上不知道应该如何扩展??