JAVA NIO 异步TCP服务端向客户端消息群发代码教程实战
Posted 洛阳泰山
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA NIO 异步TCP服务端向客户端消息群发代码教程实战相关的知识,希望对你有一定的参考价值。
前言
项目需要和第三方厂商的服务需要用TCP协议通讯,考虑到彼此双方可能都会有断网重连、宕机重启的情况,需要保证 发生上述情况后,服务之间能够自动实现重新通信。研究测试之后整理如下代码实现。因为发现客户端重启后,对于服务端来说原来的客户端和服务端进程进程已经关闭,启动又和服务端新开了一个进程。所以实现原理就可以通过服务端向客户端群发实现,断开重新连接通讯。之前写的是BIO阻塞机制,这次用NIO非阻塞来写。
代码
tcp服务端代码
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* @author TARZAN
*/
public class HttpSocketServer
public static void main(String[] args)
try
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
InetSocketAddress socketAddress = new InetSocketAddress(8080);
serv
以上是关于JAVA NIO 异步TCP服务端向客户端消息群发代码教程实战的主要内容,如果未能解决你的问题,请参考以下文章