第一次运行可以,怎么第二次就不行了?
代码昨晚还是好好的,怎么今天就不行了?
我已经保存数据了呀,怎么还是查不到?
客户端发送数据了呀,服务器怎么收不到呢?
我就照着你的代码写的啊,怎么运行结果不对呢?
1 发送的字节数错误
client.c
#include #include /* See NOTES */#include #include #include #include #include #include #include int main(){
int sockfd = socket(AF_INET, SOCK_STREAM, 0); if (-1 == sockfd) { perror("socket"); exit(1); } struct sockaddr_in server_addr; memset(&server_addr, 0, sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_port = 8000; server_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); //向服务器发起连接 int ret = connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr)); if (-1 == ret) { perror("connect"); exit(1); } char *buf = "helloworld"; //每隔 1S 向服务器发送一个字符串 while (1) {
ret = send(sockfd, buf, sizeof(buf), 0); //问题代码 if (-1 == ret) {
perror("send"); exit(1); } sleep(1); } close(sockfd); return 0;}
注:注意 37 行,sizeof(buf)
server.c
#include #include /* See NOTES */#include #include #include #include #include #include #include int main(){ //创建socket int sockfd = socket(AF_INET, SOCK_STREAM, 0); //ipv4协议 流式套接字 具体的协议类型 if