本文共 1547 字,大约阅读时间需要 5 分钟。
client.c
#include <sys/socket.h>
#include <netinet/in.h>int main(int argc,char **argv) { char recvbuff[100]; int sockfd; struct sockaddr_in serveraddr; printf("start/n"); sockfd = socket(AF_INET,SOCK_STREAM,0); printf("socket/n"); bzero(&serveraddr,sizeof(serveraddr)); serveraddr.sin_family = AF_INET; serveraddr.sin_port = htons(10000); inet_pton(AF_INET, "10.144.15.158", &serveraddr.sin_addr); connect(sockfd,(struct sockaddr *)&serveraddr,sizeof(serveraddr)); //if sturct is cancel,build will err printf("connect/n"); recv(sockfd,recvbuff,sizeof(recvbuff),0); printf("%s/n",recvbuff); close(sockfd); }server.c
#include <sys/socket.h>#include <netinet/in.h>int main(int argc,char *argv[]) { int ret; int listensock,connsock; struct sockaddr_in serveraddr; printf("start/n"); const char buff[] = "Hello! Welcome here!/r/n"; listensock = socket(AF_INET,SOCK_STREAM,0); bzero(&serveraddr,sizeof(serveraddr)); serveraddr.sin_family = AF_INET; serveraddr.sin_addr.s_addr = htonl(INADDR_ANY); serveraddr.sin_port = htons(10000); int on=1; setsockopt(listensock,SOL_SOCKET,SO_REUSEADDR,&on,sizeof(on)); printf("bind/n"); ret=bind(listensock,(struct sockaddr *)&serveraddr,sizeof(struct sockaddr)); //if struct is cancel,build will err. if(ret==-1) { printf("bind err/n"); exit(1); } listen(listensock,1024); connsock = accept(listensock,(struct sockaddr *)NULL, NULL); printf("accept /n"); send(connsock,buff,sizeof(buff), 0); ret=close(connsock); if(ret==-1) printf("colse err1 /n"); ret=close(listensock); if(ret==-1) printf("colse err2 /n");}转载地址:http://mzini.baihongyu.com/