socket一般写的都是一边发送,另外一边接收,这样的对等的情况。
我如何能做到不确定的发送和接收?类似qq消息那样。另外一个问题就是qq能做到你下线后在一定的时间范围内上线,便可以接收到这断时间别人给你留的信息。请给个思路谢谢!最后给大家说个对不起,我只有30分可以发了。前面提问都发的100,没了。我是新手,忘大家给予我帮助。谢谢!
我如何能做到不确定的发送和接收?类似qq消息那样。另外一个问题就是qq能做到你下线后在一定的时间范围内上线,便可以接收到这断时间别人给你留的信息。请给个思路谢谢!最后给大家说个对不起,我只有30分可以发了。前面提问都发的100,没了。我是新手,忘大家给予我帮助。谢谢!
你client随便什么时候都可以发送数据给serversocket的,readline是阻塞式的,流里有东西才会读的你可以把一定时间的内容在服务器上写文件,确定一个接受这得id,等这个人上来了以后,读文件发掉
2. 离线消息一定是存在服务器上,当用户登录时,向服务器发消息,服务器会将相关离线消息返回。
3. 发消息和发文件一定是两条线程,一条是UDP监听,一条是TCP监听,因为文件必须保证完整性。
4. 流程大概是这样,用户A向B发消息,A首先向QQServer发送请求,QQServer获取到B的IP并返回给A,A就直接和B进行通信。
UDP不是阻塞的,并且也不维护发送顺序的
没在家无ide也无法实验..哪位仁兄有空帮个忙
第一个Client的信息都是发送到Server上去处理的,服务器接收数据后转发给你所要发送的那个人,而这样转发就要知道对方的IP地址,所以你要告诉服务器说转发给那个人,也就是说你发送的信息要包括那个人的IP地址,而这个IP地址就得从服务器发送给你,可以用这个类List来存放你各个在线的用户。
也就是说你一上线就自动从服务器得到所有的用户的的信息及IP。
希望这个对你有所帮助。
比如说服务器关闭,客户端的Socket就会抛出异常,
所以做这些网络通信的,异常处理真的很重要的,
要处理的好一点才行的。
B现成获取output流.然后AB同时读和写不同的东西.有异常吗?
QQ不会是单独的UDP
如果A、B线程都在服务器共享连接同一个线程的话,就应该会抛出异常,
如果在服务器端是两个不同的线程分别连接的话就不会有异常的,毕竟线程是单独的运行的,不互相干扰的!!
也没试过,只是理论推测,楼主可以试下做个程序试试!!