基于TCP协议的socket通信过程

简要步骤

使用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()

相关推荐

  1. 基于TCP协议socket通信过程

    2023-12-10 19:06:03       47 阅读
  2. 【Python】基于socket函数TCP通信

    2023-12-10 19:06:03       55 阅读
  3. socket通信实现TCP协议同步通信

    2023-12-10 19:06:03       56 阅读
  4. TCP协议socket缓冲区

    2023-12-10 19:06:03       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-10 19:06:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-10 19:06:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-10 19:06:03       82 阅读
  4. Python语言-面向对象

    2023-12-10 19:06:03       91 阅读

热门阅读

  1. Android Kotlin语言下的文件存储

    2023-12-10 19:06:03       46 阅读
  2. fetch 和 ajax 的区别

    2023-12-10 19:06:03       53 阅读
  3. <HarmonyOS第一课>保存应用数据【课后考核】

    2023-12-10 19:06:03       66 阅读
  4. P8827传智杯子串

    2023-12-10 19:06:03       54 阅读
  5. 云计算时代改变了什么?

    2023-12-10 19:06:03       59 阅读
  6. 字符串详解+代码分析

    2023-12-10 19:06:03       50 阅读
  7. Nmap脚本的应用场景

    2023-12-10 19:06:03       39 阅读
  8. Nginx优化与防盗链

    2023-12-10 19:06:03       44 阅读