基于TCP的套接字:链接循环

Posted 1832921tongjieducn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于TCP的套接字:链接循环相关的知识,希望对你有一定的参考价值。

# 服务端必须满足至少三点:
# 1. 绑定一个固定的ip和port
# 2. 一直对外提供服务,稳定运行
# 3. 能够支持并发


####这个程序可以达到循环链接的功能,一个一个进来,设置半连接池的大小决定能否进来多少个,进来的也要等待一个一个的来


###服务端程序


from socket import *

server = socket(AF_INET, SOCK_STREAM)
server.bind((‘127.0.0.1‘, 8081))
server.listen(5)

# 链接循环
while True:
conn, client_addr = server.accept()
print(client_addr)

# 通信循环
while True:
try:
data = conn.recv(1024)
if len(data) == 0: break # 针对linux系统
print(‘-->收到客户端的消息: ‘, data)
conn.send(data.upper())
except ConnectionResetError:
break

conn.close()

server.close()

##客户端程序

from socket import *

client = socket(AF_INET, SOCK_STREAM)
client.connect((‘127.0.0.1‘, 8081))

# 通信循环
while True:
msg=input(‘>>: ‘).strip() #msg=‘‘
if len(msg) == 0:continue
client.send(msg.encode(‘utf-8‘)) #client.send(b‘‘)
# print(‘has send‘)
data=client.recv(1024)
# print(‘has recv‘)
print(data)

client.close()

以上是关于基于TCP的套接字:链接循环的主要内容,如果未能解决你的问题,请参考以下文章

004---基于TCP的套接字

并发编程之socketserver模块

day29 基于TCP协议通信的简单套接字/加上通信循环/加上连接循环/套接字通信底层原理分析

第六章 - 网络编程 - 1.简单的套接字通信/2.加上通信循环/3.bug修复/4.加上链接循环/5.模拟ssh远程执行命令

socketserver实现并发

基于socketserver实现并发的socket编程