用于通讯python的UNIX套接字-C ++

时间:2019-07-15 16:25:36

标签: python c++ sockets ipc

我正在尝试通过Windows 10 64bit中的UNIX套接字在python和C ++之间进行通信。
根据文档,要使用UNIX套接字,我需要将族设置为AF_UNIX而不是AF_INET,并创建一个临时本地套接字。自去年以来,这似乎在Windows中是可能的,但我还没有找到有关如何执行此操作的明确解释。
我目前有此设置:

服务器python

HOST = '127.0.0.1'  
PORT = 5555    
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.bind((HOST, PORT))
    s.listen()
    conn, addr = s.accept()
    with conn:
        # Do something with recv(), send()
        ....

客户端C ++

WSADATA WSAData;
SOCKET server;
SOCKADDR_IN addr;

WSAStartup(MAKEWORD(2,0), &WSAData);
server = socket(AF_INET, SOCK_STREAM, 0);   
addr.sin_addr.s_addr = inet_addr("127.0.0.1"); 
addr.sin_family = AF_INET;
addr.sin_port = htons(5555);
connect(server, (SOCKADDR *)&addr, sizeof(addr));
// Do something with recv(), send()

由于出于我的目的这种通信速度非常慢,因此我想使用UNIX套接字执行相同的操作。我怎样才能做到这一点?谢谢

1 个答案:

答案 0 :(得分:0)

对于 C++,您可能需要参考 this post 中的示例。

对于 Python,截至撰写本文时,它还不受支持。见bpo-33408