python_tcp

发布时间 2023-11-23 23:34:30作者: ho966
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import _thread
import socket
import time

def tcp_server(threadName, delay):
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.bind(("", 19999))
    s.listen(1)
    clientsocket,addr=s.accept()
    print("连接地址:{}".format(addr))
    while True:
        msg=clientsocket.recv(1024)
        print("接收数据:{}".format(msg.decode('utf-8')))
        if not msg or msg.decode('utf-8')=="exit":
            break
    clientsocket.close()
    print("exit thread1")
def tcp_client(threadName, delay):
    time.sleep(delay)
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.connect(("127.0.0.1",19999))
    while True:
        time.sleep(delay)
        msg=input("请输入发送数据:")
        if msg=="exit":
            break
        s.send(msg.encode('utf-8'))
    s.close()
    print("exit thread2")

#开启两个线程
try:
    _thread.start_new_thread(tcp_server, ("server", 0))
    _thread.start_new_thread(tcp_client, ("client", 1))
except:
    print("Error:无法启动新线程")
while True:
    pass