python socket 编程

Posted 拂髯客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python socket 编程相关的知识,希望对你有一定的参考价值。

# server.py
import socket
import threading
import time
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('127.0.0.1',9999))
s.listen(5)
print('Waiting connection...')

def tcp_link(sock,addr):
    print('Accept new data info from %s:%s...' %addr)
    # 首先向 客户端发送 hello 消息
    sock.send(b'Welcome!')
    
    while True:
        data = sock.recv(1024)
        time.sleep(1)
        if not data or data.decode('utf-8') == 'exit':
            break
        sock.send(('Hello %s' %data.decode('utf-8')).encode('utf-8'))
    sock.close()
    print('connection %s:%s closed...' %addr)
    
    
while True:
    # 等待客户端发送消息
    sock, addr = s.accept()
    # 为每一个客户端都单独开启一个线程
    t = threading.Thread(target=tcp_link,args=(sock,addr))
    t.start()
    
# custom.py
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1',9999))
print(s.recv(1024).decode('utf-8'))

for data in [b'a',b'b',b'c']:
    s.send(data)
    
    print('received data %s' %s.recv(1024).decode('utf-8'))
    
s.send(b'exit')
s.close()

以上是关于python socket 编程的主要内容,如果未能解决你的问题,请参考以下文章

Python--网络编程-----socket代码实例--聊天软件升级版

python,socket网络编程,最简单的server端和client端代码

golang代码片段(摘抄)

Python下的socket编程

Python网络编程常用代码

Python全栈开发-Day8-Socket网络编程