socket网络编程:加上连接循环(代码完善)
Posted py-xiaoqiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了socket网络编程:加上连接循环(代码完善)相关的知识,希望对你有一定的参考价值。
继续上一篇,我们来继续完善程序
到现在为止,我们停掉客户端了,服务端也会一起结束。 但是考虑一下,这并算不上服务端,因为只能服务一个客户端 所以我们需要能接受多个客户端的访问(暂时我们不研究并发编程,就让我们先能一个一个处理)
server.py
import socket
phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
phone.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
phone.bind(('127.0.0.1',8080))
phone.listen(5) # 挂起的客户端最多有5个
print('starting...')
while True: # 循环连接建立以及处理的部分
conn, client_addr = phone.accept()
#5 收,发消息(传数据)
while True:
try:
data = conn.recv(1024)
if not data : break
print('客户端的数据',data)
conn.send(data.upper())
except ConnectionResetError:
break
conn.close()
phone.close()
client.py
import socket
phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
phone.connect(('127.0.0.1',8080))
#3 发,收消息
while True:
msg = input('>>> : ').strip()
if not msg : continue
phone.send(msg.encode('utf-8'))
data = phone.recv(1024)
print(data)
phone.close()
以上是关于socket网络编程:加上连接循环(代码完善)的主要内容,如果未能解决你的问题,请参考以下文章
Python--网络编程-----socket编程示例--打电话--加上链接循环
Python--网络编程-----socket编程示例--打电话--加上通讯循环
第六章 - 网络编程 - 1.简单的套接字通信/2.加上通信循环/3.bug修复/4.加上链接循环/5.模拟ssh远程执行命令