一个简易的netty udp服务端

netty号称java高性能网络库,为人帮忙中,研究了下,写了一个demo。反复调试,更改,局域网两个客户端同时for循环发10000个20字节的数据包,入库mysql,居然没丢。

思路,netty的本身的高性能eventloop机制,接收到数据包后,做简单处理,然后通过dbcp连接池入库。假如,入缓存,比如redis,可能更快。

遇到的问题:

1、bind()方法,直接bind(port)即可,重载的bind(host,port)只能接收本机数据。

2、调整缓冲区大小。用netty自带的方法option(ChannelOption.SO_RCVBUF,1024*1024*2)设置缓冲区为2M。另外,在linux下还需要调整系统底层的进程缓冲区参数,若是在windows下则不必调整系统参数。

代码:netty-udpServer

原文地址:https://www.cnblogs.com/thingk/p/10001115.html