Socket通信中服务端接收文本后无法打印内容的问题求助
Socket通信中服务端接收文本后无法打印内容的问题求助
大家好,我最近写了一套Socket客户端和服务端程序,遇到个奇怪的问题想请教下!
客户端发送消息的时候完全没有报错,看起来消息已经发出去了,但服务端这边虽然会输出“message received printing on next line:”,后面本该显示的消息内容却啥都没有,根本打印不出来。
下面是我的客户端代码(原代码末尾有截断,我补全了常见的连接发送逻辑,实际代码有差异的话我再调整):
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> #include <stdlib.h> #include <arpa/inet.h> int main() { char buffer[20] = "Hello from a client"; int sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) { printf("Not Working\n"); return -1; } struct sockaddr_in feetpics; feetpics.sin_family = AF_INET; feetpics.sin_port = htons(8080); feetpics.sin_addr.s_addr = inet_addr("127.0.0.1"); struct sockaddr *addr = (struct sockaddr *)&feetpics; socklen_t sockbuf; sockbuf = sizeof(feetpics); if (connect(sockfd, addr, sockbuf) < 0) { perror("Connection failed"); exit(EXIT_FAILURE); } send(sockfd, buffer, strlen(buffer), 0); close(sockfd); return 0; }
我怀疑是不是服务端接收数据的逻辑有问题?或者客户端发送的时候有没有什么遗漏的地方?如果需要我贴出服务端代码的话,我马上补上!
备注:内容来源于stack exchange,提问作者The QNX girl
相关产品推荐
相关产品推荐

