Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winapi 发送消息()到win32应用程序vc++;_Winapi - Fatal编程技术网

Winapi 发送消息()到win32应用程序vc++;

Winapi 发送消息()到win32应用程序vc++;,winapi,Winapi,我有一个win32应用程序项目。但是当节目到达这样一个地方 假设new_socket=accept(socket,(sockaddr*)&client,&c); 它卡住了。在这类脚本中,它使我无法使用任何其他按钮、文件菜单等。任何人都可以告诉我哪里出了问题,以及如何修复它 这是它卡住的功能: void server(){ WSADATA wsa; SOCKET server_socket, client_socket; struct sockaddr_in server,

我有一个win32应用程序项目。但是当节目到达这样一个地方 假设new_socket=accept(socket,(sockaddr*)&client,&c); 它卡住了。在这类脚本中,它使我无法使用任何其他按钮、文件菜单等。任何人都可以告诉我哪里出了问题,以及如何修复它

这是它卡住的功能:

void server(){
    WSADATA wsa;
    SOCKET server_socket, client_socket;
    struct sockaddr_in server, client;
    int c, yes=1;
    int sent_length = 1;

    if (WSAStartup(MAKEWORD(2,2),&wsa) != 0) printf("Failed. Error Code : %d",WSAGetLastError());

    if((server_socket = socket(AF_INET , SOCK_STREAM , 0 )) == INVALID_SOCKET){
        printf("Could not create socket : %d" , WSAGetLastError());
    }

    server.sin_family = AF_INET;
    server.sin_addr.s_addr = 0;
    server.sin_port = htons(8080);
    memset(&(server.sin_zero), '\0', 8);

    bind(server_socket ,(struct sockaddr *)&server , sizeof(server));

    listen(server_socket, 3);
    c = sizeof(struct sockaddr_in);

    while(1){
        client_socket = accept(server_socket,(struct sockaddr *)&client, &c);
        send(client_socket, "Hello, World", 13, 0);
       }

    WSACleanup();
}

accept是同步调用,在客户端连接之前不会返回。此桅杆不能用于GUI线程。需要或在其他线程中执行此调用,或(最好)仅使用异步api(AcceptEx)

标题和问题之间的隐藏链接在哪里?感谢您的回答,但我想我找到了解决方法,但现在我面临一个新问题,您能告诉我如何通过网络发送数据吗。我确实使用了send()函数,但它不起作用