用python进行socket编程老是报错error: [Errno 10061] 怎么回事啊??好心人帮帮忙啊!!在线等!谢了
#-*-coding:utf-8-*-importsocketRECEIVER_ADDRESS='192.168.0.2'#RECEIVER的IPRECEIVER_POR...
# -*- coding: utf-8 -*-
import socket
RECEIVER_ADDRESS = '192.168.0.2'#RECEIVER的IP
RECEIVER_PORT = 8888#RECEIVER侦听的端口
class Sender():
def __init__(self):
#创建socket
try:
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error , msg :
print "Failed to create socket."
return
print 'socket created'
self.makePDU()
self.send()
self.sock.close()
def makePDU(self): #本函数生成PDU
self.data='hello!'
print self.data
def send(self):
global data
#使用socket连接RECEIVER
global RECEIVER_ADDRESS
global RECEIVER_PORT
self.sock.connect((RECEIVER_ADDRESS,RECEIVER_PORT))
print 'Socket Connected to RECEIVER on ip ' + RECEIVER_ADDRESS
# 向RECEIVER发送PDU
try:
self.sock.sendall(data)
except socket.error:
print 'Send failed'
return
print 'Data send successfully'
if __name__ == "__main__":
Sender()
输出结果:
>>>
socket created
hello!
Traceback (most recent call last):
File "D:\study\python编程\1.1.py", line 41, in <module>
Sender()
File "D:\study\python编程\1.1.py", line 19, in __init__
self.send()
File "D:\study\python编程\1.1.py", line 30, in send
self.sock.connect((RECEIVER_ADDRESS,RECEIVER_PORT))
File "D:\Program Files\python2.7.5\lib\socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
error: [Errno 10061]
>>> 展开
import socket
RECEIVER_ADDRESS = '192.168.0.2'#RECEIVER的IP
RECEIVER_PORT = 8888#RECEIVER侦听的端口
class Sender():
def __init__(self):
#创建socket
try:
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error , msg :
print "Failed to create socket."
return
print 'socket created'
self.makePDU()
self.send()
self.sock.close()
def makePDU(self): #本函数生成PDU
self.data='hello!'
print self.data
def send(self):
global data
#使用socket连接RECEIVER
global RECEIVER_ADDRESS
global RECEIVER_PORT
self.sock.connect((RECEIVER_ADDRESS,RECEIVER_PORT))
print 'Socket Connected to RECEIVER on ip ' + RECEIVER_ADDRESS
# 向RECEIVER发送PDU
try:
self.sock.sendall(data)
except socket.error:
print 'Send failed'
return
print 'Data send successfully'
if __name__ == "__main__":
Sender()
输出结果:
>>>
socket created
hello!
Traceback (most recent call last):
File "D:\study\python编程\1.1.py", line 41, in <module>
Sender()
File "D:\study\python编程\1.1.py", line 19, in __init__
self.send()
File "D:\study\python编程\1.1.py", line 30, in send
self.sock.connect((RECEIVER_ADDRESS,RECEIVER_PORT))
File "D:\Program Files\python2.7.5\lib\socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
error: [Errno 10061]
>>> 展开
3个回答
展开全部
出现Errno10061 是因为目标主机主动拒绝,连接不能建立。
这通常是因为试图连接到一个远程主机上不活动的服务,如没有服务器应用程序处于执行状态。
解决方法:
1)你先启动server,看是否可以正常启动。
2)因为是基于TCP的,所以你试试telnet可否链接到server上,格式为 telnet 127.0.0.1 5007 如果telnet没有找到的话,就配置下启动telnet。
3) 如果telnet没有成功的话,则看下是否允许python访问网络,在控制面板里配置下,如果不是要允许访问。
4)最后,服务端自己的监听地址和客户端书写的服务端地址形式必须要完全对应,或者服务端地址写成空字符串”“形式,表示所有可用地址。程序才能正常传输文件。
意思就是:
1. 服务端和客户端要在一台主机上做测试的话,要不全写成"localhost"或者全写成"127.0.0.1"形式,要不全写成自己的内网IP或外网IP,如"192.168.0.10"形式;
2. 不在同一个主机上的话,服务端本地地址不能写成"127.0.0.1"或者"localhost",而要写成自己的内网IP或外网IP形式。
3. 最简单一种方法:服务端地址写成""形式。
展开全部
RECEIVER_ADDRESS = '192.168.0.2'
这个ip能ping通不
这个ip能ping通不
更多追问追答
追问
我把引号里面的内容去掉之后还得上面那个结果了,我想知道逻辑有错误没呢??真的很感谢啊!!
找了一下午的错误了,我是初学者,才学2天,所以请多多关照啊!!
追答
10061 因为目标主机主动拒绝,连接不能建立。这通常是因为试图连接到一个远程主机上不活动的服务,如没有服务器应用程序处于执行状态
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询