String.valueOf(Socket s)
想巩固一下J2SE的内容,最终决定做一个模仿QQ的聊天程序,因为这个小程序里几乎包含了J2SE的大部分知识。有人会说:你这不就是个C/S的通讯吗。 你这个不就是个什么什么吗。
是的,我这个就是一个小东西,因为不会所以我才做动手做。
我程序的大概思路是:某一个用户登录,通过服务器把自己的信息和在线好友的信息全部下载到本地,这里好友的信息包括Socket的一部分内容,我想在某一个用户发起对好友会话时候新new一个TCP或UDP的链接。
但是,目前看来是不可以的,因为如果这么做的话,对方要是走路由器的话,那么信息就不会接收到。
于是我想到用服务器进行转发(这里我不知道腾讯是不是这么做的,用服务器转发消息?如果知道的朋友可以告诉我一下)
因为用服务器转发是在服务器端保留用户的Socket信息,通过getOutPutStream来进行通讯;所以我还有另一种想法:
客户登陆时候我保存一些信息,那么我可不可以用这些信息给转变成一个Socket呢?
也就是强制类型转换,这样的话我就可以把信息存到数据库中,等某个用户需要时再从数据库中拿出相关信息 进行类型转换,变成Socket。
我的问题就是:1.这种类型转换可能实现么?如何实现?
2.腾讯公司是用服务器转发消息吗?
在这里先谢谢各位!