侦听状态:
node1:/root/test#cat p2.py
# coding = utf-8
# -*- coding:utf-8 -*-
import socket
import time
BUFSIZE=1024
ip_port = ('192.168.137.2',8081)
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#创建套接字
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(ip_port)#绑定地址
s.listen(5)
2、LISTEN
一端(通常是服务端)调用 bind、listen 系统调用监听特定端口时进入到LISTEN状态,等待客户端发送 SYN 报文三次握手建立连接。
在 Java 中只用一行代码就可以构造一个 listen 状态的 socket。
ServerSocket serverSocket = new ServerSocket(9999);
ServerSocket 的构造器函数最终调用了 bind、listen,接下来就可以调用 accept 接收客户端连接请求了。
使用 netstat 进行查看
netstat -tnpa | grep -i 9999
tcp6 0 0 :::9999 :::* LISTEN 20096/java
处于LISTEN状态的连接收到SYN包以后会发送 SYN+ACK 给对端,同时进入SYN-RCVD阶段