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 客户端来进行转发,这个需要再继续进行编写,
未完待续…