使用MINA做为服务端和客户端(多线程运行)冲突
服务器是使用MINA做的,处理一些数据
客户端也是使用MINA,在服务端出现冲突和阻塞,有时两个线程可以正常运行,有时一个运行另一个阻塞。非常不稳定 求解答
客户端代码如下:
public class testClient { public static void main(String[] args){ new Thread(new ddzx()).start(); new Thread(new ddzx2()).start(); } } class ddzx implements Runnable{ @Override public void run() { //创建 tcp/ip 连接 NioSocketConnector connector = new NioSocketConnector(); //创建接收数据的过滤器 DefaultIoFilterChainBuilder chin = connector.getFilterChain(); //设定这个过滤器将一行一行的读取数据 //chin.addLast("codec", new IoFilterAdapter()); chin.addLast("mychin", new ProtocolCodecFilter(new ObjectSerializationCodecFactory())); //设定客户端消息处理器 connector.setHandler(new clientHandler()); //设置连接超时时间 connector.setConnectTimeout(30); //连接到服务器 //ConnectFuture future = connector.connect(new InetSocketAddress("192.168.2.201",31024)); ConnectFuture future = connector.connect(new InetSocketAddress("127.0.0.1",9988)); future.awaitUninterruptibly(); future.getSession().getCloseFuture().awaitUninterruptibly(); connector.dispose(); } } class ddzx2 implements Runnable{ @Override public void run() { //创建 tcp/ip 连接 NioSocketConnector connector = new NioSocketConnector(); //创建接收数据的过滤器 DefaultIoFilterChainBuilder chin = connector.getFilterChain(); //设定这个过滤器将一行一行的读取数据 //chin.addLast("codec", new IoFilterAdapter()); chin.addLast("mychin", new ProtocolCodecFilter(new ObjectSerializationCodecFactory())); //设定客户端消息处理器 connector.setHandler(new clientHandler2()); //设置连接超时时间 connector.setConnectTimeout(30); //连接到服务器 //ConnectFuture future = connector.connect(new InetSocketAddress("192.168.2.201",31024)); ConnectFuture future = connector.connect(new InetSocketAddress("127.0.0.1",9988)); future.awaitUninterruptibly(); future.getSession().getCloseFuture().awaitUninterruptibly(); connector.dispose(); } }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不明白你想表达什么意思!
......是服务器出问题吧,应给服务器的代码
不明白你想表达什么意思!
......是服务器出问题吧,应给服务器的代码