F ForEverySecond Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-04 #1 我想做一个类似QQ的聊天工具:一个局域网内的机器(客户端)通过代理上网,要求它们都可以和一台互联网上的机器(服务器端)通讯,可是我不明白:服务器端怎样得到客户端的ip地址
F ForEverySecond Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-04 #2 我想做一个类似QQ的聊天工具:一个局域网内的机器(客户端)通过代理上网,要求它们都可以和一台互联网上的机器(服务器端)通讯,可是我不明白:服务器端怎样得到客户端的ip地址
S SmallGhost Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-04 #3 服务端其实可以不用知道客户端IP地址,可以是客户端自己到服务器上去读!
J jjmwangx Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-04 #4 用回调函数可以实现,不要用ClientSocket/ServerSocket: 1.做一个服务程序,放在服务器上 2.客户端登录服务器,向服务器注册回调函数 3.消息直接发给服务器,由服务器转发到目标用户(回调,不需要知道客户机的IP) 4.服务器维护一个用户列表
用回调函数可以实现,不要用ClientSocket/ServerSocket: 1.做一个服务程序,放在服务器上 2.客户端登录服务器,向服务器注册回调函数 3.消息直接发给服务器,由服务器转发到目标用户(回调,不需要知道客户机的IP) 4.服务器维护一个用户列表
A abookdog Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-04 #5 使用P2P原理 其原理如下: 当客户登录时将与服务器建立一个连接,本连接可用于客户与服务器间的通信。 当一个客户想直接连接另一客户时其通过服务器得到 对于公网间的两客户之间通信上述实现是很简单的,但对于局域网内客户与其他电脑间通信则不是那么简单。因为外网无法直接得到内网的IP地址。 这需要通过服务器由服务器通知被叫客户向主叫客户打开一个通道。 被叫客户打开通道后再通过服务器告诉主叫客户,此时主叫客户就可以向被叫客户直接通信了
使用P2P原理 其原理如下: 当客户登录时将与服务器建立一个连接,本连接可用于客户与服务器间的通信。 当一个客户想直接连接另一客户时其通过服务器得到 对于公网间的两客户之间通信上述实现是很简单的,但对于局域网内客户与其他电脑间通信则不是那么简单。因为外网无法直接得到内网的IP地址。 这需要通过服务器由服务器通知被叫客户向主叫客户打开一个通道。 被叫客户打开通道后再通过服务器告诉主叫客户,此时主叫客户就可以向被叫客户直接通信了
S shibixiao Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-08 #6 ->jjmwangx 你说的几种方法能不能举一个例子,谢谢啊