python TCP通信

2025-11-13 00:59:54

1、第一步:打开python IDE,新建一个py文件,输入代码,然后另存为TCPServer.py。这个程序基本功能是建立肤孝一个TCP服务器,等待客户端发送程序,然后将接收的内容以大写字母的形式回传。localhost就是本地服务器的地址,用于测试,一般为127.0.0.1。

import socketserver

class MyTCPHandler(socketserver.BaseRequestHandler):

    def handle(self):


        # self.request is the TCP socket connected to the client
        self.data = self.request.recv(1024).strip()
        print("{} wrote:".format(self.client_address[0]))
        print(self.data)
        # just send back the same data, but upper-cased
        self.request.sendall(self.data.upper())

if __name__ == "__main__":


    HOST, PORT = "localhost", 9999

    server = socketserver.TCPServer((HOST, PORT), MyTCPHandler)

    server.serve_forever()

python TCP通信

2、第二步:点击IDE菜单栏的“Run”->“Run Module F5”,或者直接按“F5”快捷键执行TCP服务器程序。

python TCP通信

3、第三步:编写客户端程序,使用IDE新建一个新的py文件,输入下面的代码。该客户端程序需要通过命令囊倘汉参数传递数据(sys.argv[1:]指示第一行参数),地址也是用户测试的IP地址(一般为127.0.0.1),端口设置与服务器一直,也是9999 。程序将命令行参数发送给服务器,然后将回传的数据回显。


import socket


import sys

HOST, PORT = "localhost", 9999


data = " ".join(sys.argv[1:])

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:


    sock.connect((HOST, PORT))
    sock.sendall(bytes(data + "\n", "utf-8"))

    received = str(sock.recv(1024), "utf-8"欠近陵)

print("Sent:     {}".format(data))


print("Received: {}".format(received))

python TCP通信

4、第四步:保存客户端程序为TCPClient.py,记住保存的目录,后面会用到。

python TCP通信

5、第五步:打开win10的CMD程序,将目录切换至TCPClient.py所在目录。

python TCP通信

6、第6步:使用python TCPClient.py Hello world调用客户端程序,可以看到程序运行后显示:

Sent:       Hello world 

Received:HELLO WORLD

与此同时,服务器程序也作出相应,收到127.0.0.1的内容。

python TCP通信

python TCP通信

7、该示例程序的客户端运行一次后便自动退出,而服务器程序则一直处于激活状态,可以通过再次调用TCPClient.py程序再次发送数据,服务器也会作出相应。需要结束服务器程序可以使用Ctrl+C。

python TCP通信

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢