服务器端如何监听所有socket连接请求
我有一台服务器,假设内网ip为192.168.0.1 ,外网ip为 111,111,111,111在服务器上启动程序,内网的客户端可以连接服务器进行socket通信,外网的客户端也可以连接进行socket通信。
现在好像我只能在服务器端绑定一个ip?客户端通过连接这个ip才能通信,也就是说不能同时保证内网和外网客户端都可以请求socket tcp/ip 通信连接?
服务器端到底该怎么监听 --------------------编程问答--------------------
IPAddress[] ipList = Dns.GetHostAddresses(Dns.GetHostName());
for (int i = 0; i < ipList.Length; i++)
{
//绑定
}
大概是这样吧 --------------------编程问答--------------------
这样是获取当前电脑的所有ip信息,这个我知道,问题是socket监听,一次性绑定,你难道让我一个ip绑定一个,然后一个ip再来一个socket和thread?
有哪个函数直接监听服务器所有ip并处理的么 --------------------编程问答-------------------- 我要的是一次性绑定服务器所有ip的函数,你这样是让我一个ip监听,然后每个ip都进行相同的数据处理?后面的处理可是很庞大的,肯定这样不行 --------------------编程问答-------------------- IPAddress[] ipList = Dns.GetHostAddresses(Dns.GetHostName());
for (int i = 0; i < ipList.Length; i++)
{
//绑定
Socket socket = new Socket(.....);
}
大概是这样吧
--------------------编程问答-------------------- --------------------编程问答-------------------- 试试 IPAddress.Any --------------------编程问答-------------------- 端口映射。 --------------------编程问答-------------------- 6楼正解,绑定到IPAddress.Any,就绑定到服务器的所有ip --------------------编程问答--------------------
正解!
补充:.NET技术 , C#