python 监听 其他程序发消息_如何让python脚本监听来自另一个脚本的输入

我会使用套接字连接.基本上,您正在编写一个非常简单的服务器,一次只能连接一个连接

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.bind(("localhost", 9988))

s.listen(1)

while True:

conn, addr = s.accept()

data = conn.recv(1024)

conn.close()

my_function_that_handles_data(data)

s.accept()是一个阻塞调用.它等待连接.然后你读取连接.在这种情况下,我们假设参数的长度仅为1024字节.然后我们对从套接字收到的数据做一些事情并等待另一个连接.

客户端看起来像这样:

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect(("localhost", 9988))

s.sendall('My parameters that I want to share with the server')

s.close()

关于这一点的好处在于,将来如果客户端和服务器不再在同一台机器上运行,那么将“localhost”更改为您将要访问的实际IP地址或域名是一件简单的事情.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要让Python程序监听8800端口,可以使用Python内置的socket库。具体步骤如下: 1. 在Python程序中导入socket库: ```python import socket ``` 2. 创建一个socket对象,并指定IP地址和端口号: ```python sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('0.0.0.0', 8800)) ``` 这里使用了0.0.0.0作为IP地址,表示监听所有网络接口的连接请求。 3. 开始监听端口: ```python sock.listen(5) ``` 这里将最大连接数设置为5,表示可以同时接受5个客户端的连接请求。 4. 进入无限循环,等待客户端连接: ```python while True: conn, addr = sock.accept() print('Connected by', addr) # 处理客户端请求 conn.close() ``` 这里使用了accept方法等待客户端连接,并返回一个连接对象和客户端地址。在处理完客户端请求后,需要关闭连接。 将以上代码保存为一个Python脚本,然后在Dockerfile中启动该脚本即可。例如: ``` FROM python:3.9 COPY myserver.py / CMD ["python", "/myserver.py"] EXPOSE 8800 ``` 这里使用Python 3.9作为基础镜像,将myserver.py复制到容器中,并在CMD中指定启动脚本。使用EXPOSE指令暴露8800端口。然后可以使用Docker命令构建镜像并启动容器: ``` docker build -t myserver . docker run -d -p 8800:8800 myserver ``` 这里将容器内的8800端口映射到主机的8800端口,可以通过访问“http://主机ip:8800”来测试Python程序是否正常监听8800端口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值