我有一个客户端将通过套接字连接到服务器。连接后,服务器上发生的每个事件都将发送到所有注册的客户端。
每个客户端都应该接收与事件相关的数据。
我只需要实现客户端...这意味着我需要连接到服务器并接收事件数据。
我正在考虑做这样的事情:
this.socket = new Socket(InetAddress.getByName(host),
this.socket.connect(socket.getLocalSocketAddress(), SOCKET_TIMEOUT);
然后启动一个线程,在 while 循环中获取套接字的 InputStream
。
但我不知道这是否是通过套接字实现事件驱动客户端的最佳方法。
是吗?
最佳答案
在事件驱动的环境中 Datagram Socket会产生较低的网络开销,但不会给您带来可靠性。这是tutorial关于编写数据报套接字客户端和服务器。
关于Java 套接字事件驱动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9637489/