用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]
>>>
展开
 我来答
夜半情话
2018-04-09 · TA获得超过5863个赞
知道小有建树答主
回答量:70
采纳率:0%
帮助的人:3.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. 最简单一种方法:服务端地址写成""形式。
kanchi240
2013-08-09 · TA获得超过363个赞
知道小有建树答主
回答量:151
采纳率:100%
帮助的人:113万
展开全部
RECEIVER_ADDRESS = '192.168.0.2'

这个ip能ping通不
更多追问追答
追问
我把引号里面的内容去掉之后还得上面那个结果了,我想知道逻辑有错误没呢??真的很感谢啊!!

找了一下午的错误了,我是初学者,才学2天,所以请多多关照啊!!
追答
10061 因为目标主机主动拒绝,连接不能建立。这通常是因为试图连接到一个远程主机上不活动的服务,如没有服务器应用程序处于执行状态
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
剿匪B计划
2013-08-10
知道答主
回答量:9
采纳率:0%
帮助的人:9.5万
展开全部
没发送完成就close了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式