我有一个客户端,将通过套接字连接到服务器。连接服务器上发生的每个事件后,都会发送给所有注册的客户端。Java套接字事件驱动
每个客户都应该收到有关该事件的数据。
我只需要实现客户端......这意味着我需要连接到服务器并接收事件的数据。
我想在做这样的事情:
this.socket = new Socket(InetAddress.getByName(host),
this.socket.connect(socket.getLocalSocketAddress(), SOCKET_TIMEOUT);
,然后启动一个线程,其获取插座的InputStream
在while循环。
但我不知道这是通过套接字实现事件驱动客户端的最佳方式。
是吗?
如果我不产生线程我的应用程序将阻止,对吧?我需要不断地阅读阻塞操作的套接字,还是我错了? Thx回复 – 2012-03-09 16:38:27
是的,它会阻止读取套接字。这不是你想要的吗? Java中也有非阻塞IO framefork,请查看http://en.wikipedia.org/wiki/New_I/O – 2012-03-10 07:43:14