|
|
|
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)
|
|
<!--[if !supportMisalignedColumns]-->
|
|
|
|
<!--[endif]-->
Nagle's algorithm:http://en.wikipedia.org/wiki/Nagle's_algorithm
Socket-faq: ftp://rtfm.mit.edu/pub/usenet/news.answers/unix-faq/socket
分享到:
相关推荐
本文将深入探讨几个常用的TCP/IP命令,包括`ping`、`winipcfg/ipconfig`以及`tracert`。这些工具不仅能够帮助用户诊断网络连接问题,还能提供有关网络路径和配置的详细信息。 #### 二、ping 命令 **功能概述:** `...
TCP拥塞控制机制是TCP/IP调优的核心之一,主要包括以下几个方面: #### 2.1.1 拥塞窗口(CWND) - **定义**:表示发送方被允许发送的数据包数量。 - **作用**:较大的窗口大小可以提高吞吐量。 - **计算公式**:...
在提供的【压缩包子文件的文件名称列表】中,我们可以看到以下几个文件: 1. `TCP转串口工具.exe`:这是主应用程序文件,用户通过运行这个可执行文件来启动工具。 2. `Me.jpg`:可能是一个作者或开发者的信息图片,...
5. TCP优化:学习如何调整TCP参数,如最大段大小(MSS)、超时重传时间(RTO)、拥塞窗口(cwnd)等,以适应不同网络环境。 通过实践,例如编写简单的TCP客户端和服务端程序,可以帮助初学者更好地理解和掌握TCP...
在"TCP通讯的完整例子"中,我们通常会看到以下几个关键步骤和概念: 1. **建立连接**:TCP通信始于三次握手(Three-Way Handshake)。客户端发送一个SYN(同步序列编号)包给服务器,服务器回应一个SYN+ACK(同步+...
在Spring Boot中实现TCP客户端,通常会涉及到以下几个关键点: 1. **配置**:在`application.properties`或`application.yml`中,我们可以配置TCP客户端的相关参数,比如服务器的IP地址和端口号,超时时间等。 2. ...
在LabVIEW中实现TCP/IP通信,我们需要掌握以下几个关键知识点: 1. **创建TCP客户端和服务器**:LabVIEW提供了内置的TCP/IP VI(虚拟仪器),可以用来创建TCP客户端和服务器。服务器端用于监听特定端口上的连接请求...
ZLG/IP协议栈可能包括以下几个关键部分: 1. **网络接口层**:处理物理网络的通信,如以太网驱动,实现MAC地址的识别和数据帧的发送与接收。 2. **IP层**:处理IP包的封装、解封装,路由选择以及IP包的错误检测。 ...
在“TCP-接收线程和发送线程”项目中,可能包含以下几个核心概念: 1. **线程创建**:在C/C++中,可以使用pthread库来创建线程。`pthread_create()`函数用于创建新的线程,传入线程函数指针和参数,新线程会执行这...
TCP标定一般包括以下几个步骤: 1. 数据采集:通过控制机械臂在多个预设位置和姿态下记录其关节角度。 2. 计算转换:利用这些关节角度和已知的机械臂连杆参数,计算出对应的TCP位置和姿态。 3. 拟合优化:通过数学...
在设置MODBUS TCP通信时,我们需要做以下几个关键步骤: 1. **配置PLC1200的网络参数**:在TIA Portal中,进入PLC的硬件配置,设置其IP地址、子网掩码和默认网关,确保与服务器PLC1200在同一网络段。 2. **启用...
项目中的"MDV-STM32F107-TCPnet-examples-2.2(for_ST_FW_3.10&RLARM_400)"文件名暗示了几个关键信息: 1. STM32F107:这是STM32系列的一个具体型号,具有丰富的GPIO接口和高速运算能力,适合网络应用。 2. TCPnet-...
在安装MOXA RS485转TCP软件时,需要注意以下几点: 1. 确保计算机已连接到网络,并且有权限访问串口服务器。 2. 下载并安装MOXA提供的配套软件,该软件通常包括配置工具、驱动程序和用户手册。 3. 使用配置工具设置...
TCP调试涉及到多个层面,包括但不限于以下几个关键知识点: 1. **TCP连接建立**:TCP连接的建立通过三次握手(SYN-SYN/ACK-ACK)完成。理解这个过程对于识别连接问题至关重要。在调试时,我们需要关注SYN和SYN/ACK...
在Windows平台上,串口设置包括几个关键参数: 1. **端口**:指的是计算机上的物理端口,如COM1、COM2等,用于连接串行设备。 2. **波特率**:代表数据传输的速度,常见的波特率有9600、19200、38400、57600、...
在实现TCP/IP协议栈时,还需要关注以下几个关键点: - ARP(地址解析协议):用于将IP地址映射到物理(MAC)地址。 - ICMP(Internet控制消息协议):用于网络诊断和错误报告,如ping命令就使用了ICMP。 - DNS(域名...
在测试过程中,你可能会关注以下几个关键指标: 1. **吞吐量**:表示单位时间内通过网络传输的数据量,通常以bps(比特每秒)或Bps(字节每秒)衡量。 2. **延迟**:即数据包从发送到接收所需的时间,包括网络传输...
TCP的握手涉及到以下几个关键函数: 1. `tcp_v4_syn_recv_sock()`:处理接收到的SYN包,创建一个新的TCP套接字结构并放入半连接队列。 2. `tcp_send_synack()`:发送SYN+ACK响应,包括设置自己的ISN和确认号。 3....