欢迎访问宙启技术站
智能推送

使用socket.socket在Python中创建TCP/IP连接

发布时间:2023-12-29 00:39:44

在Python中,使用socket.socket可以轻松创建TCP/IP连接。首先,我们需要导入socket模块。然后,我们可以使用socket.socket()函数创建一个套接字对象。

创建套接字对象后,我们可以使用一系列方法来配置和使用套接字。以下是一些常用的方法和属性:

1. bind(address):将套接字绑定到特定的地址,该地址由主机名或IP地址和端口号组成。

2. listen(backlog):开始监听传入的连接请求,参数backlog指定在拒绝连接之前可以挂起的最大连接数量。

3. accept():接受客户端的连接请求,并返回一个表示连接的新套接字对象和客户端地址。

4. connect(address):与服务器建立连接,服务器的地址由主机名或IP地址和端口号组成。

5. send(bytes):发送数据到连接的另一端。

6. recv(buffer_size):接收来自连接的另一端的数据,buffer_size指定每次接收的最大数据量。

7. close():关闭套接字连接。

下面是一个简单的使用socket.socket创建TCP/IP连接的示例:

import socket

# 创建套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 绑定地址和端口
server_address = ('localhost', 12345)
server_socket.bind(server_address)

# 开始监听连接
server_socket.listen(1)
print('等待客户端连接...')

while True:
    # 接受客户端连接
    client_socket, client_address = server_socket.accept()
    print('客户端已连接:', client_address)

    try:
        # 接收客户端发送的数据
        data = client_socket.recv(1024)
        print('接收到的数据:', data.decode())

        # 向客户端发送响应
        message = 'Hello from server'
        client_socket.sendall(message.encode())
    finally:
        # 关闭套接字连接
        client_socket.close()
        break

# 关闭服务器套接字
server_socket.close()

上述示例中,创建了一个TCP/IP服务器套接字对象server_socket。通过调用bind()方法,将服务器套接字绑定到本地主机名"localhost"和端口号12345。然后,通过调用listen()方法开始监听传入的连接请求。

在while循环中,通过调用accept()方法接受客户端的连接请求,并返回一个新的套接字对象client_socket和客户端地址client_address。然后,使用recv()方法接收客户端发送的数据,并使用send()方法向客户端发送响应。

最后,使用close()方法关闭客户端套接字连接和服务器套接字连接。

这只是一个简单的示例,以帮助您了解使用socket.socket创建TCP/IP连接的基本步骤。根据实际需求,您可以根据实际情况进行设置和修改。