我正在尝试创建一个简单的套接字连接。
这就是我的客户正在做的事情:
strcpy(send_data, "Hello Server");
send(sock,send_data,strlen(send_data), 0);
strcpy(send_data, "Compression Method: null(0)");
send(sock,send_data,strlen(send_data), 0);
strcpy(send_data, "end");
send(sock,send_data,strlen(send_data), 0);
send_data
定义为char send_data[1024]
现在这是我的服务器端:
int clntSock = accept(servSock, (struct sockaddr *) &clntAddr, &clntAddrLen);
while(clntSock){
int inMsgLen = recvfrom(clntSock, inMsg, 1024, 0,(struct sockaddr *)&clntAddr, (socklen_t*)&clntAddrLen);
inMsg[inMsgLen] = '\0';
if(strcmp(inMsg, "Hello Server") == 0){ // check if the client sent hello server
printf("%s\n", inMsg);
} else if(strcmp(inMsg, "end") == 0){ // check if client send end
printf("\n WHY ISNT"T THIS EXECUTING\n"); // THIS IS NOT HAPPENING
} else {
printf("%s\n", inMsg); //keep receiving and do nothing
}
现在我的服务器设法进行第一次检查(即检查客户端是否向服务器发送了问候)并打印出:Hello Server
然后它转到 else 语句并打印出:Compression Method: null(0)
之后它继续进入 else 语句......它永远不会执行 else if 语句
*为什么 else_if 语句永远不会被执行?*