2023/12/23软件工程日报
Socket编程是一种用于网络通信的编程技术,它允许不同计算机之间的进程进行通信。在Socket编程中,通信的两端分别是客户端和服务器端。Socket是一种抽象层,提供了一个接口,使得程序员可以通过网络发送和接收数据。
1.导入模块: 首先,需要导入相关的模块,通常是socket模块。
import socket
2.创建Socket: 使用socket模块创建一个Socket对象。可以选择使用TCP或UDP协议。
# 创建TCP Socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
这里AF_INET表示使用IPv4地址,SOCK_STREAM表示使用TCP协议。如果想使用UDP,可以选择SOCK_DGRAM。
3.绑定地址和端口: 对于服务器,需要绑定一个特定的地址和端口,使得客户端可以连接。
server_address = ('127.0.0.1', 12345) server_socket.bind(server_address)
这里使用了本地地址127.0.0.1和端口12345,可以根据实际需求修改。
4.监听连接(仅服务器): 对于服务器,需要开始监听传入的连接请求。
server_socket.listen(5) # 允许同时处理5个连接请求
5.接受连接(仅服务器): 服务器接受客户端的连接请求。
client_socket, client_address = server_socket.accept()
6.发送和接收数据: 使用send()和recv()方法发送和接收数据。
# 发送数据 client_socket.send(b'Hello, server!') # 接收数据 data = client_socket.recv(1024)
这里b'Hello, server!'是一个字节序列,1024表示接收数据的最大字节数。
7.关闭连接: 当通信结束时,需要关闭连接。
client_socket.close() # 关闭客户端连接
server_socket.close() # 关闭服务器Socket
浙公网安备 33010602011771号