最近我在用JAVA编写一个UDP即时通信程序。假设有两个机器,一个作为服务器,一个作为客房端。在服务器上接收数据时,是放在while(true) {}这样一个死循环里的。
但是,发送信息用datagramsocket.send(datagrampacket),但是接收信息用的是死循环啊,怎么会有机会执行datagramsocket.send(datagrampacket)呢?这个问题困扰了我N久了,头都痛了?请知道的朋友给我一点意见吧,给分!
但是,发送信息用datagramsocket.send(datagrampacket),但是接收信息用的是死循环啊,怎么会有机会执行datagramsocket.send(datagrampacket)呢?这个问题困扰了我N久了,头都痛了?请知道的朋友给我一点意见吧,给分!
datagramsocket.send(datagrampacket)是这个SCOKET向外面发送数据。
两个不冲突。就相当于 一个正在看门的人,可以在看门期间可以做其他的事。:-)
使用多线程就可以解决了吗?
我现在还有一个疑问:就是我的这个UDP聊天程序,雏型已经做好了(未用多线程),但是只能实现客户端发一句,服务端回一句,不能够客户端连续发信息或服务端连续发信息! 请问这个用多线程能解决吗?如果不能的话,那用什么方法呢?
使用多线程就可以解决了吗?
我现在还有一个疑问:就是我的这个UDP聊天程序,雏型已经做好了(未用多线程),但是只能实现客户端发一句,服务端回一句,不能够客户端连续发信息或服务端连续发信息!请问这个用多线程能解决吗?如果不能的话,那用什么方法呢?=========================================================================================
这个问题就是因为你没有使用多线程,如果你启用两个线程,一个负责接收,一个负责发送,那么就不会要求接收一条然后才能发送一条的限制了。