1.每个客户端上线的时候都会把自己的IP传给服务器,服务器会维护一个QQ号码与对应IP的列表。
2.
A如果想给B发消息,首先要去服务器上通过B的QQ号查询B的IP,然后与B建立P2P的通信,不怎能是每次通讯都经过服务器的,那样服务器的负载就太重了,肯定没法即时响应。
java socket 只要建立通道 是不分内外网的··
只要客户端给服务器发送了请求··服务器自然能知道客户端的地址··
包括现在你在内网打开一个网页··也是需要提交请求到服务器··然后服务器吧页面反馈给客户端上··道理是一样的··
服务器不需要考虑那么多,你服务器的IP地址是固定的,客户端不管在那里,只要能访问服务器,服务器就可以把客户端IP地址记录下来,之后直接根据这个IP地址建立连接
java网络编程也是socket编程
他跟外网和内网没关系,外网和内网的区别是什么?不过是ip不同
只要在new Socket(ip,port)的时候,ip和port传入正确就好了。
这是入门,再有问题只能一步步学习啦,可以问我,最重要选我
那就连接服务器的外网ip进行通信就好了