socket

话不多说,先跑起来

服务端(test_service.py)

# 导入socket库:
import socket
import threading

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 监听端口:
s.bind((\'127.0.0.1\', 9999))

s.listen(5)
print(\'Waiting for connection...\')

def tcp (sock, addr):
    print(\'Accept new connection from %s:%s...\' % addr)
    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 from %s:%s closed.\' % addr)

while True:
    # 接受一个新连接:
    sock, addr = s.accept()
    # 创建新线程来处理TCP连接:
    t = threading.Thread(target=tcp , args=(sock, addr))
    t.start()

客户端(test_client.py)

# 导入socket库:
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\'noe\', b\'yiannuo\', b\'gu\']:
    # 发送数据:
    s.send(data)
    print(s.recv(1024).decode(\'utf-8\'))
s.send(b\'exit\')
s.close()
收藏 打印