0
点赞
收藏
分享

微信扫一扫

python socket笔记

凉夜lrs 2024-05-07 阅读 6

# server.py
import socket
from multiprocessing import Process
from threading import Thread
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 表示将SO_REUSEADDR标记为TRUE,操作系统会在服务器socket被关闭或服务器进程终止后马上释放该服务器的端口,
# 否则操作系统会保留几分钟该端口。
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server.bind(('127.0.0.1', 9095))
server.listen(5)


def communicate(conn, address):
    print(address)
    while True:
        try:
            msg = conn.recv(1024)
            if not msg:
                break
            conn.send(msg.upper())
        except Exception:
            break


if __name__ == '__main__':
    while True:
        conn, address = server.accept()
        # p = Process(target=communicate, args=(conn, address))
        # p.start()
        t = Thread(target=communicate,args=(conn, address))
        t.start()

# client.py
import socket

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('127.0.0.1', 9095))

while True:
    cmd = input('>>>').strip()
    if not cmd:
        continue
    client.send(cmd.encode('utf8'))
    msg = client.recv(1024)
    print(msg.decode('utf8'))

举报

相关推荐

Python socket

python-socket

Python模块-socket

python,socket通信

Python(三、SOCKET)

Python socket模块

0 条评论