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网络编程:加上连接循环(代码完善)的主要内容,如果未能解决你的问题,请参考以下文章

第八篇:socket网络编程

Python--网络编程-----socket编程示例--打电话--加上链接循环

Python--网络编程-----socket编程示例--打电话--加上通讯循环

第八章 socket网络编程:模拟ssh远程执行命令

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

java web----socket基础