Winapi 发送消息()到win32应用程序vc++;
我有一个win32应用程序项目。但是当节目到达这样一个地方 假设new_socket=accept(socket,(sockaddr*)&client,&c); 它卡住了。在这类脚本中,它使我无法使用任何其他按钮、文件菜单等。任何人都可以告诉我哪里出了问题,以及如何修复它 这是它卡住的功能: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,
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()函数,但它不起作用