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

好文链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。