python回声函数_扭曲的Python:UDP广播(简单的回声服务器)

我正在尝试调整

Python Twisted –

UDP examples以使用UDP广播.我可以从客户端发送消息并在服务器上接收它,但是,它不会发回消息.

客户:

from twisted.internet.protocol import DatagramProtocol

from twisted.internet import reactor

from socket import SOL_SOCKET,SO_BROADCAST

class EchoClientDatagramProtocol(DatagramProtocol):

strings = [

"Hello,world!","What a fine day it is.","Bye-bye!"

]

def startProtocol(self):

self.transport.socket.setsockopt(SOL_SOCKET,SO_BROADCAST,True)

self.transport.connect("255.255.255.255",8000)

self.sendDatagram()

def sendDatagram(self):

if len(self.strings):

datagram = self.strings.pop(0)

self.transport.write(datagram)

else:

reactor.stop()

def datagramReceived(self,datagram,host):

print 'Datagram received: ',repr(datagram)

self.sendDatagram()

def main():

protocol = EchoClientDatagramProtocol()

#0 means any port

t = reactor.listenUDP(0,protocol)

reactor.run()

if __name__ == '__main__':

main()

服务器:

from twisted.internet.protocol import DatagramProtocol

from twisted.internet import reactor

class EchoUDP(DatagramProtocol):

def datagramReceived(self,address):

print "Received from address: " + str(address)

print str(datagram)

self.transport.write(datagram,address)

print "Finished sending reply."

print "Starting server."

reactor.listenUDP(8000,EchoUDP())

reactor.run()

控制台输出:

Server:

Starting server.

Received from address ('192.168.1.137',53737)

Hello,world!

Finished sending reply.

Client:

no output.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值