python 接收事件转发
Posted qianbo_insist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 接收事件转发相关的知识,希望对你有一定的参考价值。
python 作为服务器端
python 作为事件服务器,使用udp 服务器,然后进行事件通信,如
1 写文件
2 传递给其他服务器
因为是脚本,所以可以随时修改,做到比较灵活
如何进行调用?可以在主程序启动时启动所有程序,包括python,调用外部程序的方式启动python服务。
from time import sleep
import socket
def main():
# udp 通信地址,IP+端口号
udp_addr = ('192.168.0.109', 7000)
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定端口
udp_socket.bind(udp_addr)
# 等待接收对方发送的数据
while True:
recv_data = udp_socket.recvfrom(1024) # 1024表示本次接收的最大字节数
# 打印接收到的数据
print("[From %s:%d]:%s" % (recv_data[1][0], recv_data[1][1], recv_data[0].decode("utf-8")))
if __name__ == '__main__':
print("当前版本: ", __version__)
print("udp server ")
main()
测试客户端
package main
import (
"fmt"
"net"
)
func main()
conn, err := net.Dial("udp", "192.168.0.109:10000")
if err != nil
fmt.Println("net.dial err:", err)
return
defer conn.Close()
for i := 1;i<=100;i++
result:=fmt.Sprintf("this is %d",i)
fmt.Println(i)
conn.Write([]byte(result))
buf := make([]byte, 4096)
n, err := conn.Read(buf)
if err != nil
fmt.Println("conn.Read err:", err)
return
fmt.Println("server back:", string(buf[:n]))
运行
改进
python 事件服务器 需要增加websocket 客户端来进行转发,这个需要再继续进行编写,
未完待续…
以上是关于python 接收事件转发的主要内容,如果未能解决你的问题,请参考以下文章