`
lixjluck
  • 浏览: 104584 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

TCP的几个常用参数

 
阅读更多

<!--[if !supportMisalignedColumns]--><!--[endif]-->

 

 

 

SO_LINGER

Specify a linger-on-close timeout. This option disables/enables immediate return from a close()of a TCP Socket.  Enabling this option with a non-zero Integer timeout  means that a close() will block pending the transmission and acknowledgement of all data written to the peer, at which point the socket is closed gracefully. Upon reaching the linger timeout, the socket is closed forcefully, with a TCP RST. Enabling the option with a timeout of zero does a forceful close immediately. If the specified timeout value exceeds 65,535 it will be reduced to 65,535.

SO_TIMEOUT

Set a timeout on blocking Socket operations:

     * <PRE>

     * ServerSocket.accept();

     * SocketInputStream.read();

     * DatagramSocket.receive();

     * </PRE>

The option must be set prior to entering a blocking operation to take effect. If the timeout expires and the operation would continue to block, <B>java.io.InterruptedIOException</B> is raised.  The Socket is not closed in this case.

SO_SNDBUF

Set a hint the size of the underlying buffers used by the platform for outgoing network I/O. When used in set, this is a suggestion to the kernel from the application about the size of buffers to use for the data to be sent over the socket. When used in get, this must return the size of the buffer actually used by the platform when sending out data on this socket.

SO_RCVBUF

Set a hint the size of the underlying buffers used by the platform for incoming network I/O. When used in set, this is a suggestion to the kernel from the application about the size of buffers to use for the data to be received over the

socket. When used in get, this must return the size of the buffer actually used by the platform when receiving in data on

 this socket.

SO_KEEPALIVE

When the keepalive option is set for a TCP socket and no data has been exchanged across the socket in either direction for  2 hours (NOTE: the actual value is implementation dependent),

     * TCP automatically sends a keepalive probe to the peer. This probe is a TCP segment to which the peer must respond.

     * One of three responses is expected:

     * 1. The peer responds with the expected ACK. The application is not    notified (since everything is OK). TCP will send another probe following another 2 hours of inactivity.

     * 2. The peer responds with an RST, which tells the local TCP that the peer host has crashed and rebooted. The socket is closed.

     * 3. There is no response from the peer. The socket is closed.

     * The purpose of this option is to detect if the peer host crashes.

SO_REUSEADDR

Used by MulticastSockets

TCP_NODELAY

Disable Nagle's algorithm for this connection.  Written data to the network is not buffered pending acknowledgement of previously written data

public void connect(SocketAddress endpoint, int timeout)

 

       

 

Nagle's algorithmhttp://en.wikipedia.org/wiki/Nagle's_algorithm

Socket-faq: ftp://rtfm.mit.edu/pub/usenet/news.answers/unix-faq/socket

 

 

分享到:
评论

相关推荐

    tcp_ip常用的命令大集合

    本文将深入探讨几个常用的TCP/IP命令,包括`ping`、`winipcfg/ipconfig`以及`tracert`。这些工具不仅能够帮助用户诊断网络连接问题,还能提供有关网络路径和配置的详细信息。 #### 二、ping 命令 **功能概述:** `...

    tcp tuning

    TCP拥塞控制机制是TCP/IP调优的核心之一,主要包括以下几个方面: #### 2.1.1 拥塞窗口(CWND) - **定义**:表示发送方被允许发送的数据包数量。 - **作用**:较大的窗口大小可以提高吞吐量。 - **计算公式**:...

    TCP命令转串口命令实用工具

    在提供的【压缩包子文件的文件名称列表】中,我们可以看到以下几个文件: 1. `TCP转串口工具.exe`:这是主应用程序文件,用户通过运行这个可执行文件来启动工具。 2. `Me.jpg`:可能是一个作者或开发者的信息图片,...

    tcp例子适合初学者

    5. TCP优化:学习如何调整TCP参数,如最大段大小(MSS)、超时重传时间(RTO)、拥塞窗口(cwnd)等,以适应不同网络环境。 通过实践,例如编写简单的TCP客户端和服务端程序,可以帮助初学者更好地理解和掌握TCP...

    TCP通讯的完整例子

    在"TCP通讯的完整例子"中,我们通常会看到以下几个关键步骤和概念: 1. **建立连接**:TCP通信始于三次握手(Three-Way Handshake)。客户端发送一个SYN(同步序列编号)包给服务器,服务器回应一个SYN+ACK(同步+...

    spring-boot-tcp-client.zip

    在Spring Boot中实现TCP客户端,通常会涉及到以下几个关键点: 1. **配置**:在`application.properties`或`application.yml`中,我们可以配置TCP客户端的相关参数,比如服务器的IP地址和端口号,超时时间等。 2. ...

    基于LABVIEW的TCP/IP网络通信程序

    在LabVIEW中实现TCP/IP通信,我们需要掌握以下几个关键知识点: 1. **创建TCP客户端和服务器**:LabVIEW提供了内置的TCP/IP VI(虚拟仪器),可以用来创建TCP客户端和服务器。服务器端用于监听特定端口上的连接请求...

    ZLG TCP/IP,周立功写的TCP IP,值得研究下

    ZLG/IP协议栈可能包括以下几个关键部分: 1. **网络接口层**:处理物理网络的通信,如以太网驱动,实现MAC地址的识别和数据帧的发送与接收。 2. **IP层**:处理IP包的封装、解封装,路由选择以及IP包的错误检测。 ...

    TCP-接收线程和发送线程

    在“TCP-接收线程和发送线程”项目中,可能包含以下几个核心概念: 1. **线程创建**:在C/C++中,可以使用pthread库来创建线程。`pthread_create()`函数用于创建新的线程,传入线程函数指针和参数,新线程会执行这...

    工业机械臂TCP末端标定

    TCP标定一般包括以下几个步骤: 1. 数据采集:通过控制机械臂在多个预设位置和姿态下记录其关节角度。 2. 计算转换:利用这些关节角度和已知的机械臂连杆参数,计算出对应的TCP位置和姿态。 3. 拟合优化:通过数学...

    TIA V16 PLC1200 MODBUS TCP通讯程序

    在设置MODBUS TCP通信时,我们需要做以下几个关键步骤: 1. **配置PLC1200的网络参数**:在TIA Portal中,进入PLC的硬件配置,设置其IP地址、子网掩码和默认网关,确保与服务器PLC1200在同一网络段。 2. **启用...

    STM32 tcp/ip通讯

    项目中的"MDV-STM32F107-TCPnet-examples-2.2(for_ST_FW_3.10&RLARM_400)"文件名暗示了几个关键信息: 1. STM32F107:这是STM32系列的一个具体型号,具有丰富的GPIO接口和高速运算能力,适合网络应用。 2. TCPnet-...

    MOXA RS485转TCP安装软件

    在安装MOXA RS485转TCP软件时,需要注意以下几点: 1. 确保计算机已连接到网络,并且有权限访问串口服务器。 2. 下载并安装MOXA提供的配套软件,该软件通常包括配置工具、驱动程序和用户手册。 3. 使用配置工具设置...

    TCP.rar_TCP 调试_tcp调试_tcp调试工具_visual c_调试工具

    TCP调试涉及到多个层面,包括但不限于以下几个关键知识点: 1. **TCP连接建立**:TCP连接的建立通过三次握手(SYN-SYN/ACK-ACK)完成。理解这个过程对于识别连接问题至关重要。在调试时,我们需要关注SYN和SYN/ACK...

    串口&amp;TCP;_UDP调试工具

    在Windows平台上,串口设置包括几个关键参数: 1. **端口**:指的是计算机上的物理端口,如COM1、COM2等,用于连接串行设备。 2. **波特率**:代表数据传输的速度,常见的波特率有9600、19200、38400、57600、...

    TCP/IP协议栈

    在实现TCP/IP协议栈时,还需要关注以下几个关键点: - ARP(地址解析协议):用于将IP地址映射到物理(MAC)地址。 - ICMP(Internet控制消息协议):用于网络诊断和错误报告,如ping命令就使用了ICMP。 - DNS(域名...

    TCP负载测试工具(两款)

    在测试过程中,你可能会关注以下几个关键指标: 1. **吞吐量**:表示单位时间内通过网络传输的数据量,通常以bps(比特每秒)或Bps(字节每秒)衡量。 2. **延迟**:即数据包从发送到接收所需的时间,包括网络传输...

    tcp通讯协议握手分析.zip_Linux tcp通讯详细介绍_tcp 握手 源码_tcp 通讯_握手_通讯握手协议

    TCP的握手涉及到以下几个关键函数: 1. `tcp_v4_syn_recv_sock()`:处理接收到的SYN包,创建一个新的TCP套接字结构并放入半连接队列。 2. `tcp_send_synack()`:发送SYN+ACK响应,包括设置自己的ISN和确认号。 3....

Global site tag (gtag.js) - Google Analytics