'''----------------------------服务器------------------------------'''
import socket import time import threading s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.bind(('127.0.0.1',8080)) #listen开始监听端口,传入参数指定等待的最大数量 s.listen(5) print('Waiting for connection...') while True: #接受一个新连接 sock,addr=s.accept() #创建新线程来处理TCP连接 t=threading.Thread(target=tcplink,args=(sock,addr)) t.start() def tcplink(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)
'''-----------------------------客户端---------------------------------'''
import socket s= socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(('127.0.0.1',8080)) print(s.recv(1024).decode('utf-8')) for data in [b'Michael', b'Tracy', b'Sarah']: # 发送数据: s.send(data) print(s.recv(1024).decode('utf-8')) s.send(b'exit') s.close() 出现如下错误: ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
连接被Refuse说明TCP层没有端口在监听,你要确保Server先正确运行起来,并通过netstat命令查看127.0.0.1:8080端口正确监听,然后再运行Client代码。