本文主要是介绍python--TCP服务端及客户端基础连接,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
服务端基础代码
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Date : 2021/6/8
# @Name : ZhouZongXin
"""
TCP 服务端基础代码(循环模型)
"""
from socket import *
class TcpServer(object):
@staticmethod
def server():
# 创建套接字
tcp_socket = socket(AF_INET, SOCK_STREAM)
# 绑定套接字
tcp_socket.bind(('0.0.0.0', 8888))
# 设置监听(设置队列最大连接数)
tcp_socket.listen(5)
# 循环处理客户端连接,如果当前有客户端断开连接,那么等待接受下一个客户端进行连接
while True:
# 等待客户端连接
print("waiting for connect")
# 等待处理客户端连接accept
connfd, addr = tcp_socket.accept() # connfd连接的监听套接字,用accept处理
print("connect from", addr) # 打印客户端地址
# 循环处理客户端发送消息
while True:
# 等待接收客户端消息
data = connfd.recv(1024)
# 如果客户端关闭就会断开,并不是发送空才断开
if not data:
break
print("recv", data.decode())
# 回发
connfd.send(bytes(f"服务端返回:{data}", encoding="UTF-8"))
connfd.close() # 关闭监听套接字 如果某个客户端退出连接下一个客户端连接
tcp_socket.close() # 关闭套接字
if __name__ == '__main__':
TcpServer.server()
客户端基础代码
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Date : 2021/6/8
# @Name : ZhouZongXin
"""
TCP客户端基础代码
"""
from socket import *
class TcpClient(object):
@staticmethod
def client():
# 创建套接字
tcp_socket = socket()
# 发起连接 连接服务端
tcp_socket.connect(('127.0.0.1', 8888))
while True:
# 发送消息
msg = input(">>")
if not msg:
break
tcp_socket.send(msg.encode()) # 发送字节串
data = tcp_socket.recv(1024)
print(data.decode())
tcp_socket.close()
if __name__ == '__main__':
TcpClient.client()
这篇关于python--TCP服务端及客户端基础连接的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!