netty号称java高性能网络库,为人帮忙中,研究了下,写了一个demo。反复调试,更改,局域网两个客户端同时for循环发10000个20字节的数据包,入库mysql,竟然没丢。java
思路,netty的自己的高性能eventloop机制,接收到数据包后,作简单处理,而后经过dbcp链接池入库。假如,入缓存,好比redis,可能更快。mysql
遇到的问题:linux
一、bind()方法,直接bind(port)便可,重载的bind(host,port)只能接收本机数据。redis
二、调整缓冲区大小。用netty自带的方法option(ChannelOption.SO_RCVBUF,1024*1024*2)设置缓冲区为2M。另外,在linux下还须要调整系统底层的进程缓冲区参数,如果在windows下则没必要调整系统参数。sql
代码:netty-udpServerwindows