[英]How to send data to a Python SSL socket via Node.js
I have a https server running on node.js that serves the requests of various client applications written in python and I want to enable peer to peer communication between the clients.我有一个 https 服务器在 node.js 上运行,它服务于用 python 编写的各种客户端应用程序的请求,我想启用客户端之间的对等通信。 To achieve this, I'm keeping track of the 'online' clients on the server that then sends the necessary data so that the peers can communicate between themselves.为了实现这一点,我正在跟踪服务器上的“在线”客户端,然后发送必要的数据,以便对等方可以在它们之间进行通信。
My goal:我的目标:
notification socket
)客户端应用程序打开三个 sockets(一个用于接收来自其他客户端的消息,一个用于向其他客户端发送消息,一个用于接收来自服务器的消息 - 我们称之为一个notification socket
)host = '127.0.0.1'
listener_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssl_listener_socket = ssl.wrap_socket(listener_socket, keyfile= pkey_path,
certfile= crt_path, cert_reqs= ssl.CERT_NONE, ssl_version=ssl.PROTOCOL_TLSv1_2)
ssl_listener_socket.bind((host, 0))
listener_name = ssl_listener_socket.getsockname()
sender_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssl_sender_socket = ssl.wrap_socket(sender_socket, keyfile= pkey_path,
certfile= crt_path, cert_reqs= ssl.CERT_NONE, ssl_version=ssl.PROTOCOL_TLSv1_2)
ssl_sender_socket.bind((host, 0))
sender_name = ssl_sender_socket.getsockname()
notification_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssl_notification_socket = ssl.wrap_socket(notification_socket, keyfile= pkey_path,
certfile= crt_path, cert_reqs= ssl.CERT_NONE, ssl_version=ssl.PROTOCOL_TLSv1_2)
ssl_notification_socket.bind((host, 0))
notification_name = ssl_notification_socket.getsockname()
notification socket
and sends it the information about the other client's sockets.当服务器收到一个客户端的连接请求,想要与另一个客户端(客户端由用户名标识)进行通信时,如果两者都是“在线”,则服务器打开两个 ssl sockets(每个客户端一个),连接到每个客户端的notification socket
并向其发送有关其他客户端的 sockets 的信息。I'm not being capable of doing task #3.我无法完成任务 #3。 How can I create two ssl sockets in nodejs and send data to the python sockets?如何在nodejs中创建两个ssl sockets并将数据发送到python sockets?
On a design note, I'd do this differently.在设计说明上,我会以不同的方式做这件事。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.