python中单向通信TCP服务器的搭建

  • 更新时间:2021-06-25 09:17:41
  • 编辑:慎阿柒
给网友们整理相关的编程文章,网友秦子宁根据主题投稿了本篇教程内容,涉及到Python相关内容,已被445网友关注,内容中涉及的知识点可以在下方直接下载获取。

参考资料

正文内容

今天在网上看到《python中单向通信TCP服务器的搭建》,实例用法很详细,重新编辑了一下发到本站,为了大家阅读方便。

python中单向通信TCP服务器的搭建

1、搭建流程

(1)首先创建一个套接字,TCP是一个面向流的套接字。所以需要使用SOCK_STREAM。

(2)然后使用bind()函数将套接字与服务器地址相关联(因为我们只是在本地测试,直接将地址设置为127.0.0.1或localhost,端口号为10000)。当然,如果你周围有两台计算机设备,你可以直接更换局域网的IP地址。

(3)调用listen()函数将套接字设置为服务器模式,然后无限循环等待,参数为最大排队次数。

在循环中,调用accept()等待客户端的信息连接。如果客户端连接,accept()函数将返回打开的连接和客户端地址。

(4)指示缓冲区,用于存储recv函数收到的数据。

(5)使用sendall()返回客户端数据。返回数据后,即使与当前客户端通信完成。需要使用close()关闭清理。

2、实例

import socket
 
# 1.创建一个套接字,
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 2.使用bind()函数将套接字与服务器地址关联
sock.bind(('localhost', 10000))
# 3.调用listen()函数将套接字设置为服务器模式
sock.listen(1)
 
while True:
    # 4.调用accept()等待客户端的消息连接
    # 如果有客户端进行连接,那么accept()函数会返回一个打开的连接与客户端地址
    connection, client_address = sock.accept()
    print("连接客户端地址:", client_address)
    try:
        # 5.指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据
        data = connection.recv(1024)
        print(data)
        if data:
            # 6.通过sendall()进行回传客户端数据。
            connection.sendall("已接受到数据".encode())
        else:
            print("客户端没有发送数据,不需要传送数据")
    finally:
        #7.需要使用close()进行关闭清理
        connection.close()

以上就是python中单向通信TCP服务器的搭建,希望对大家有所帮助。

相关教程

用户留言