怎样指定ServerSocket中的IP 地址?(100分)

  • 主题发起人 主题发起人 Kaven
  • 开始时间 开始时间
K

Kaven

Unregistered / Unconfirmed
GUEST, unregistred user!
在一台机器里设有多个IP地址时,要ServerSocket只在特定的IP上侦听。
但ServerSocket->socket->LocalAddress属性为只读。怎么办?
希望
1.ServerSocket绑定一个特定IP,在一台机器里运行多个ServerSocket程序,
PORT相同,IP不同。
2.ServerSocket绑定多个特定IP,当和CLIENT连接时,能够侦测出CLIENT
连接ServerSocket哪个特定IP。
 
问题是相同的port会冲突吧?
 
不会。IIS的虚拟主机不就可以。不同的IP。一样的PORT。
 
我问了一下一个搞VC的,答案是用不着, 一台机器上的serversocket, 会监听
本机上所有的IP地址,不用你自己来区分, client请求过来时会自动区分的,
如果你想知道具体client连接的是哪个IP地址,可以用getHostbyname(可能
是这个函数)获得自己具体的IP.
 
可是用VCL怎样实现?
 
Server 的地址不管它就行了
 
vcl实现什么?
只接受特定ip的client?
在OnClientConnect事件中判断, 如果不是特定ip就close不就得了?
 
到其它有关ServerSocket的问题去看看即可
 
可以吗?我要的是SERVER IP
 
?????
ServerSocket.Socket.LocalAddress? 你要这个干吗?
 
to Another_eYes: 因为他的机器上有多个IP.
 
这样, 用serversocket.socket.connections[anyconnectionindex].localaddress
判断是否是你想用的ip, 如果是, 继续, 否则退出就行了.
 
>>在一台机器里设有多个IP地址

长见识
 
复杂的说
 
多人接受答案了。
 
后退
顶部