python的入门TCP编程

一、创建TCP服务器
创建TCP服务器的流程:

使用socket创建一个套接字
使用bind绑定IP和端口
使用listen让套接字变成可以被动连接
使用accept等待客户端的连接
使用recv/send接收和发送数据
例子:我们实现一个服务器向浏览器发送“Hello World”。
创建一个server.py文件

import socket                               #导入socket模块
host = '127.0.0.1'                        #主机IP            
port = 8080                                #端口
web = socket.socket()                    #创建TCP/IP套接字
web.bind((host, port))                    #绑定端口
web.listen(5)                            #设置最多连接数
print("服务器等待客户端连接...")        
#创建一个死循环
while True:                
    conn, addr = web.accept()           #建立客户端连接
    data = conn.recv(1024)                #获取客户端请求的数据
    print(data)                            #打印出接收到的数据
    #向客户端发送数据
    conn.sendall(b'HTTP/1.1 200 OK\r\n\r\nHello World')            
    conn.close()    #关闭连接

运行该py文件 在浏览器输入网址127.0.0.1:8080 (其中127.0.0.1为IP地址,8080为端口号),成功连接到服务器后,浏览器网页上会显示“Hello World”。

 

这样一个简单的TCP服务器就创建好了。

二、创建TCP客户端
有服务器当然也有客户端啦,客户端发送请求至服务器,服务器返回数据,通过客户端向服务器发送和接受数据。
那么上面讲解了如何用socket模块创建一个简单的TCP服务器,相对于创建TCP服务器,创建TCP客户端要简单很多。

创建一个client.py文件

import socket                             #导入socket模块
s = socket.socket()                        #创建套接字
host = '127.0.0.1'                        #IP
port = 8080                                #端口
s.connect((host,port))                    #主动初始化TCP服务器连接
send_data = input('请输入要发送的数据')        #提示用户输入数据
s.send(send_data.encode())                    #发送TCP数据

#接受对方发送过来的数据,最大接受1024字节
recvData = s.recv(1024).decode()
print('接收到的数据为:', recvData)
#关闭套接字
s.close()

 

此时我们的TCP客户端就已经创建成功,我们可以运行该py文件查看结果是如何。

这里我使用的是pycharm来运行。大家也可以使用cmd窗口命令运行以上的server.py和client.py文件。

这时可以在client.py运行结果下输入 “ 你好”

 

参考地址:https://blog.csdn.net/arlovekyh/article/details/123772056

posted @ 2022-10-05 05:14  创客未来  阅读(111)  评论(0编辑  收藏  举报