首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

LINUX创办套接字的发送接收缓存的大小

2013-04-20 
LINUX创建套接字的发送接收缓存的大小protected static final int m_iMaxSize 20480protected static D

LINUX创建套接字的发送接收缓存的大小


protected static final int m_iMaxSize = 20480;
protected static DatagramSocket m_socket;
protected static int m_timeout = 3000;
protected static int m_Port = 5555;
protected static String m_Ip ="192.168.30.5";
private static byte[] datarecv = new byte[m_iMaxSize + 120];
/**
 * @param args
 */
public static void main(String[] args) {
try {
m_Ip = args[0];
send s = new send();
m_socket = new DatagramSocket(m_Port, InetAddress.getByName(m_Ip));
int b = m_socket.getSendBufferSize();
int rb = m_socket.getReceiveBufferSize();
System.out.println("default SendBufferSize=" + b);
System.out.println("default ReceiveBufferSize=" + rb);
m_socket.setSendBufferSize(m_iMaxSize*1000);
m_socket.setReceiveBufferSize(m_iMaxSize*1000);
System.out.println("set SendBufferSize="+m_socket.getSendBufferSize());
System.out.println("set ReceiveBufferSize="+m_socket.getReceiveBufferSize());

s.start();
} catch (Exception e) {
System.out.println(e.toString());
}

}

WINDOWS平台运行结果
default SendBufferSize=65536
default ReceiveBufferSize=65536
set SendBufferSize=20480000
set ReceiveBufferSize=20480000

LINUX平台运行结果
default SendBufferSize=64512
default ReceiveBufferSize=64512
set SendBufferSize=131071
set ReceiveBufferSize=131071


LINUX设置套接字缓存有上限?
[解决办法]
lz 霸气。
UDP每个传送包上限跟系统有关,没有统一标准,各家只是约定了一个最小值。
由于UDP的不可靠,一般传包小于等于512字节。

热点排行