python socket udp编程的小问题
我想使用python中的socket建立udp,但是遇到了问题程序如下:udp_server.py#!/usr/bin/envpythonfromsocketimport...
我想使用python中的socket建立udp,但是遇到了问题
程序如下: udp_server.py
#!/usr/bin/env python
from socket import *
from time import ctime
host0=''
port0='21567'
addr0=(host0,port0)
bufsiz0=1024
udp_sock=socket(AF_INET,SOCK_DGRAM)
udp_sock.bind(addr0)
#recv & send message
while True:
print 'waiting for message'
data,addr=udp_sock.recvfrom(bufsiz0)
print 'received message form',addr
udp_sock.sendto('%s::%s' %(ctime(),data),addr)
udp_sock.close()
然后我运行出现了下图中的错误
不清楚原因在哪里,能帮帮我么,谢谢啦! 展开
程序如下: udp_server.py
#!/usr/bin/env python
from socket import *
from time import ctime
host0=''
port0='21567'
addr0=(host0,port0)
bufsiz0=1024
udp_sock=socket(AF_INET,SOCK_DGRAM)
udp_sock.bind(addr0)
#recv & send message
while True:
print 'waiting for message'
data,addr=udp_sock.recvfrom(bufsiz0)
print 'received message form',addr
udp_sock.sendto('%s::%s' %(ctime(),data),addr)
udp_sock.close()
然后我运行出现了下图中的错误
不清楚原因在哪里,能帮帮我么,谢谢啦! 展开
2个回答
展开全部
从错误代码an integer is required来看,需要提供一个整形。
要做的是改成 port0 = 21567,而不是 port0 = ’21567‘。
希望能帮到你,有疑问请追问!
要做的是改成 port0 = 21567,而不是 port0 = ’21567‘。
希望能帮到你,有疑问请追问!
追问
额,好笨啊,怎么在这里犯糊涂了。
另外还有个问题想咨询下您。
跟host,port有关。
服务器的host是指允许连接的hosy,port是自己这个服务器用于连接的port。
客户端的host是指服务器的,其port是指服务器的。
我这么理解对么?
谢谢啦
追答
应该可以这么理解。
服务器端会设置一个ip和一个port,一直监听连接,每当有客户端发来请求,就与客户端建立连接。
客户端连接服务器的时候,就用上面设置的那个ip和port。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询