我正在构建一个简单的客户端/服务器代码,我不断收到此错误。我不明白为什么(我想习惯python)。这是我的代码:
服务器代码:
import socket
from socket import*
from time import ctime
HOST = ''
PORT = 21567
BUFSIZ = 1024
ADDR =(HOST, PORT)
tcpsersock = socket(AF_INET, SOCK_STREAM)
tcpsersock.bind(ADDR)
tcpsersock.listen(5)
while True:
print("waiting for connection...")
tcpclisock, addr = tcpsersock.accpet()
print("...Connected from: "),addr
while True:
data = tcpclisock.recv(BUFSIZ)
if not data:
break
tcpclisock.send('[%s] %s' %(ctime(), data))
tcpclisock.close()
tcpsersock.close()
客户代码:
import socket
from socket import*
from time import ctime
HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpclisock = socket(AF_INET, SOCK_STREAM)
tcpclisock.connect(ADDR)
while True:
data = raw_input('> ')
if not data:
break
tcpclisock.send(data)
data = tcpclisock.recv(BUFSIZ)
if not data:
break
print data
tcpclisock.close()
我收到此错误:
error: [Errno 10061] No connection could be made because the target machine actively refused it
答案 0 :(得分:0)
可能服务器端没有运行服务器进程(由于accpet()
?)
答案 1 :(得分:0)
这表明远程计算机已收到您的连接请求,并发回拒绝(RST数据包)。我不认为这是远程机器的情况,根本没有进程监听该端口(但我可能是错的!)。
这听起来像是防火墙问题。它可能是远程计算机上的防火墙,也可能是网络之间的过滤器,或者可能是本地计算机上的过滤器 - 您是否在本地运行任何类型的安全软件?
答案 2 :(得分:0)
首先运行服务器脚本 - 开始监听 然后打开客户端.. 或 - 尝试更改端口 错误只是表明“没人在听”
答案 3 :(得分:0)
试试这个:
tcpclisock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
这几乎可以直接来自套接字的文档页面,您可以在此处找到socket