基于TCP协议的socket通信过程
2023-12-14 00:41:15
简要步骤
使用socket实现通信的过程通常包括以下步骤:
- 创建Socket对象:在服务器端,使用
socket.socket()
函数创建一个Socket对象;在客户端,使用socket.socket()
函数创建一个Socket对象。 - 绑定地址和端口:在服务器端,使用
bind()
方法将Socket对象绑定到一个IP地址和端口上;在客户端,不需要绑定地址和端口。 - 监听连接请求:在服务器端,使用
listen()
方法开始监听连接请求。 - 接受连接请求:在服务器端,使用
accept()
方法接受客户端的连接请求,返回一个新的Socket对象和客户端的地址;在客户端,不需要接受连接请求。 - 发送和接收数据:使用
send()
方法发送数据,使用recv()
方法接收数据。可以使用循环来多次发送和接收数据。 - 关闭连接:使用
close()
方法关闭Socket连接。
客户端
import socket
# 创建Socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
server_address = ('localhost', 8888)
client_socket.connect(server_address)
# 发送数据
message = 'Hello, server!'
client_socket.send(message.encode())
# 接收数据
data = client_socket.recv(1024)
print('接收到的数据:', data.decode())
# 关闭连接
client_socket.close()
服务器端
import socket
# 创建Socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口
server_address = ('localhost', 8888)
server_socket.bind(server_address)
# 监听连接请求
server_socket.listen(1)
print('等待客户端连接...')
# 接受连接请求
client_socket, client_address = server_socket.accept()
print('客户端已连接:', client_address)
# 接收数据
data = client_socket.recv(1024)
print('接收到的数据:', data.decode())
# 发送数据
message = 'Hello, client!'
client_socket.send(message.encode())
# 关闭连接
client_socket.close()
server_socket.close()
文章来源:https://blog.csdn.net/weixin_45880844/article/details/134829655
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!