python小白一只,请问各位大神,执行以下程序时老是出现以下问题

Traceback (most recent call last):
File "C:\Users\su\Desktop\树莓派\server.py", line 10, in <module>
sock.bind(('202.117.189.31',8964))
File "D:\python\lib\socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
error: [Errno 10049]

程序如下:
#coding=gbk
import socket
import threading
import time
import struct
DEFAULTADDR = ('202.117.189.31',8964)

#建立监听端口
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.bind(DEFAULTADDR)
#开始监听
sock.listen(5)

print "Waiting..."
while True:
#建立传输连接
conn,addr=sock.accept()
print "Connection from:",addr
#定义文件信息数据结构
FILEINFO = struct.calcsize('128sI')
while True:
try:
fhead = conn.recv(FILEINFO)#获得文件信息
filename,filesize = struct.unpack('128sI',fhead)
print "Filename",filename.strip('\00')
print "Filesize",filesize
filename = "dup_"+filename.strip('\00')
fp = open(filename,'wb')#本地创建文件
print "Recving..."

#传输文件
restsize = filesize
while True:
if restsize > 1024:
data = conn.recv(1024)
else:
data = conn.recv(restsize)
if not data:break
fp.write(data)
restsize = restsize - len(data)
if restsize <=0:break
fp.close()
print "Recv",filename,"done"
print "-----------------------------------"
except:
print "Connection failed"
conn.close#连接断开,关闭该连接
break

可以根据以下操作步骤执行:

Traceback (most recent call last):
File "C:/Documents and Settings/Administrator/桌面/11", line 10, in <module>
sock.bind(DEFAULTADDR)
File "<string>", line 1, in bind
error: (10049, "Can't assign requested address")
回溯(最近一次调用):
文件“C:/文件和设置/管理/桌面/11”,10号线,在<模块>
sock.bind(DEFAULTADDR)
文件“<字符串>”,1号线,在绑定
错误:(10049,“无法分配请求的地址”)

在IDLE中执行下面代码,中文显示正常:

# -*- coding:utf-8 -*-

st=raw_input("请输入内容")
print st

但在CMD中执行e:\hello.py,则中文会出现乱码

可以看出utf-8和gbk都可以通过编码和解码与unicode进行转换,那么如果utf-8转化为gbk该怎么办呢?首先,utf-8通过解码转化为unicode,然后通过unicode编码转化为gbk。为什么CMD会出现乱码呢?这是因为我们写的py程序是utf-8编码的,通过python程序编译后,也是编译为utf-8编码,而这时cmd是通过gbk进行解析的,gbk解析utf-8,当然会出现乱码了。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
有问题 你的地址有问题
Traceback (most recent call last):
File "C:/Documents and Settings/Administrator/桌面/11", line 10, in <module>
sock.bind(DEFAULTADDR)
File "<string>", line 1, in bind
error: (10049, "Can't assign requested address")
回溯(最近一次调用):
文件“C:/文件和设置/管理/桌面/11”,10号线,在<模块>
sock.bind(DEFAULTADDR)
文件“<字符串>”,1号线,在绑定
错误:(10049,“无法分配请求的地址”)追问

你好,我是小白,能说说怎么修改吗

追答

你的IP址

追问

202.117.189.31

追答

这个不是你的IP地址 这个地址有错 改了地址就对了 我改成000.000.000.00就可以用了!

追问

多谢,我试试哈

追答

还有看另一个回答的 你的追问 127.0.0.1 是可以的

本回答被提问者采纳
第2个回答  2014-08-19
202.117.189.31
不是你的机器的IP地址,也不可能是你的机器IP地址。你需要bind到0.0.0.0上。 能明白吗?

或者是你用ifconfig -a,看一看你机器的IP地址再做BIND追问

不用自己的ip地址吗,用127.0.0.1可以吗?

我是小白,刚开始学习编程。可是我用编译器运行时 总会出现图中的错误...
3.C++里面trick太多,要用好确实很花时间的,这个是历史原因,C#和java都是C++基础上的,就严谨很多,容易系统学习。python这类语言是牺牲一些执行效率来提高开发效率,具体的就是程序会慢些,但是源码会短些,python的可读性是很强的。python的多线程不是强项,要多线程学erlang去。网络编程是python的强...

刚接触python的小白,各位大神帮我看看哪里有问题,到if那里就报错了...
通过input输入的内容是字符串类型,你需要使用int()方法来转换为整型,才能在if语句那里与18进行比较,改为以下形式即可:age = input('请输入你的年龄:')print('your age is:',age)if int(age) >=18:print('成年')else:print('未成年')...

我是python小白,刚开始学习编程,为什么我运行程序的时候闪退啊
windows命令行下执行的吧,写完代码加一句raw_input('please press enter to close this window.')

python小白,请问以下代码,为何输入整数可以运行,输入一个小数却报错?比...
input返回的是一个字符串,所以a不是int,而是字符串‘7.6’,而int内置的解析字符串的函数解析‘7.6’会失败。解决办法是:即先转换为浮点数,然后截断为整型。这个方法对小数和整数都可行。

Python小白想问问我写的这串程序有什么问题吗
if语句下面的list1=list1+i必须要缩进 你定义的list1是一个空元组,元组是不可变对象,不可更改,并且即使更改也不是用【+】作更改的,【+】是字符串对象的拼接符和数据类型相加(比如1+1,1+8)。其他类型都不可以是用【+】的。正确方法:import randomx=random.sample(range(1,101),100)list...

python小白,出了两个错误,求大神请教
Python解释器会首先执行 a = random.randint(1, max), max是python保留的关键字函数, 不是int, 所以randint的时候报错了.

...运行程序下边总是只显示一个python的路径。。。
如果你直接按快捷键或者是按钮运行的话, pycharm默认执行的是上一个执行过的代码, 也就是这个Unnamed,你只需要在1.py代码里右键run即可

本人编程小白,在利用python进行数据分析这本书中安装完python后再来安装...
ipython 和 python 属于并列的。也就是说:你当前属于 python shell 中,退出来。退到CMD或Terminal,然后再 ipython --pylab 就可以了

刚自学PYTHON的小白,NameError: name 'pp' is not defined 这错是怎么...
即使是小白,遇到问题也不用担心,仔细查看报错提示是解决问题的最好方法。长此以往,你解决问题的能力就会提升。在这里说pp没有被定义,也就是说当我们执行b=pp语句时,其无法找到pp这个变量,因此报错。解决办法就是在这条语句之前定义该变量。希望能够帮助到你!报错内容 ...

python纯小白请教一个问题
首先你需要安装 python,这样才能执行 .py 文件;当然其中它会引用一些库,你也要安装一下;用法很简单,开启 cmd,运行命令:python arcunpack.py -f MES.ARC .\/output 这样就可以把这个文件解包到当前目录下的 output 子文件下。

相似回答