关于创建zeromq消息队列,设置和更改IP地址,远程可以访问,不只是本地链接。python代码。
關于zeromq的創建,綁定本地,和綁定其他客戶端的方法。
網上一大堆關于zmq的通信模式的介紹,包括三種類型,具體我就不在描述。
但是他們給的demo,都是創建本地作為server服務端,也作為client客戶端的這個方式。都將端口設置為5555。這個方式是本地連本地,本地控制本地。
本地作為客戶端:
作為客戶端,發送信息。
import zmqcontext = zmq.Context()
# Socket to talk to server
print("Connecting to hello world server…")
socket = context.socket(zmq.REQ)
socket.connect("tcp://localhost:5555")
socket.send_string(send_msg)
本地同時作為服務端:
作為服務器端,接受信息。
import zmqcontext = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("tcp://*:5555")
message = socket.recv_string()
注意:REQ-REP模式是阻塞式的,也就是說必須要client先發送一條消息給server,然后server才可以返回一個response給client。任何順序上的錯誤都會導致報錯。
當我們的本機是服務端,接收從其他電腦,客戶端發來的消息隊列的時候。此時,只需要將本地的ip地址,作為tcp協議的地址,本地服務端綁定這個地址和端口,遠程客戶端,也鏈接這個ip地址和窗口即可。下面是相應的python代碼。
PS:Windows查詢IP地址的命令行為:ipconfig
Mac或者Linux查詢IP地址的命令行為:ifconfig
我們查詢到作為服務端的電腦的IP地址為:192.168.3.41。因此,將tcp的設置改為如下, 便可達到遠程發送信息,本地接受信息的目的。其中的端口port,可以隨意設置,5000,5555,都可以。
遠程其他電腦作為客戶端:
客戶端,鏈接服務端的ip地址,因此是用的connect。
import zmqcontext = zmq.Context()
# Socket to talk to server
print("Connecting to hello world server…")
socket = context.socket(zmq.REQ)
socket.connect("tcp://192.168.3.41:5000")socket.send_string(send_msg)
本地作為服務端:
服務端,從這個ip地址和5000端口接受信息,因此是綁定bind到。
import zmqcontext = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("tcp://192.168.3.41:5000")
message = socket.recv_string()
如果有用,記得點贊👍加收藏哦。!!!!
總結
以上是生活随笔為你收集整理的关于创建zeromq消息队列,设置和更改IP地址,远程可以访问,不只是本地链接。python代码。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 女性不孕不育常规检查
- 下一篇: pycharm中报错:Error: fa