linux下面基本的网络编程,收不到数据
服务端程序为:
#include <stdlib.h>#include <stdio.h>#include <sys/socket.h>#include <linux/in.h>int main(){ int svsk,clsk; struct sockaddr_in myaddr; char buff[8]; if((svsk=socket(AF_INET,SOCK_STREAM,0))<0){ printf("socket error\n"); exit(0); } bzero(&myaddr,sizeof(myaddr)); myaddr.sin_family=AF_INET; myaddr.sin_port=htons(10086); myaddr.sin_addr.s_addr=INADDR_ANY; if(bind(svsk,(struct sockaddr *)&myaddr,sizeof(myaddr))<0){ printf("bind error\n"); exit(0); } if(listen(svsk,5)<0){ printf("listen error\n"); exit(0); } printf("Accepting connections ...\n"); while(1){ if(clsk=accept(svsk,NULL,NULL)<0){ printf("accept error\n"); exit(0); } printf("connected!\n"); // if(send(clsk,"server",7,0)<0) // printf("write error\n"); if(read(clsk,buff,7)<0) printf("read error\n"); puts(buff); close(clsk); } close(svsk); return 0;}#include <stdlib.h>#include <stdio.h>#include <sys/socket.h>#include <linux/in.h>int main(){ int clsk; struct sockaddr_in svaddr; char buff[8]; if((clsk=socket(AF_INET,SOCK_STREAM,0))<0){ printf("socket error\n"); exit(0); } bzero(&svaddr,sizeof(svaddr)); svaddr.sin_family=AF_INET; svaddr.sin_port=htons(10086); svaddr.sin_addr.s_addr=inet_addr("127.0.0.1"); if(connect(clsk,(struct sockaddr *)&svaddr,sizeof(svaddr))<0){ printf("connect error\n"); exit(0); } printf("connected!\n"); if(write(clsk,"client",7)<0) printf("write error\n");// if(recv(clsk,buff,7,0)<0)// printf("read error\n"); close(clsk); return 0;}