/// -------------->client #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #define ERROR -1 #define OK 1 int main(int argc, char *argv[]) { int c_fd; int len; char buf[1024]={"tanhuifang"}; unsigned short port = 0x8888; struct sockaddr_in s_addr; int sizeSockaddr = sizeof(struct sockaddr_in); /// @brief 创建套接字 bzero(&s_addr,sizeSockaddr); s_addr.sin_family = AF_INET; s_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); s_addr.sin_port = htons(port); if(-1 == (c_fd = socket(AF_INET, SOCK_STREAM, 0)) ) { fprintf(stdout,"socket fail\n"); return ERROR; } /// @brief 连接 if(-1 == connect(c_fd,(struct sockaddr *)(&s_addr),sizeSockaddr) ) { fprintf(stdout,"socket fail\n"); return ERROR; } else { fprintf(stdout,"IP:%#x\tport:%#x\n",ntohl(s_addr.sin_addr.s_addr),s_addr.sin_port); while(1) { if(-1 == (len = write(c_fd,buf,sizeof(buf)) )) { fprintf(stdout,"write fail\n"); return ERROR; } else { fprintf(stdout,"send success!!!\n%d\n%s\n",len,buf); } sleep(2); } } return OK; } ##################################################################### /// --------------------------->server #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <unistd.h> #define ERROR -1 #define OK 0 int main(int argc, char *argv[]) { int s_fd,c_fd; int len; unsigned short port = 0x8888; char buf[1024]; struct sockaddr_in s_addr,c_addr; int sizeSockaddr = sizeof(struct sockaddr_in ); /// @brief 创建套接字 if(-1 == (s_fd = socket(AF_INET, SOCK_STREAM, 0)) ) { fprintf(stdout,"socket fail !\n"); return ERROR; } /// @brief 绑定 bzero(&s_addr, sizeSockaddr); s_addr.sin_family = AF_INET; s_addr.sin_addr.s_addr = htonl(INADDR_ANY); s_addr.sin_port = htons(port); if(-1 == bind(s_fd,(struct sockaddr *)(&s_addr),sizeof(struct sockaddr))) { fprintf(stdout,"bind socket fail !\n"); return ERROR; } /// @brief 监听 if(-1 == listen(s_fd,10)) { fprintf(stdout,"listen socket fail !\n"); return ERROR; } if(-1 == (c_fd = accept(s_fd,(struct sockaddr *)(&c_addr),(socklen_t*)&sizeSockaddr))) { fprintf(stdout,"accept socket fail !\n"); return ERROR; } ///fprintf(stdout,"welcom IP:%d port:%x",c_addr.sin_addr.s_addr,c_addr.sin_port) fprintf(stdout,"welcom $$$$$\n"); while(1) { memset(buf,0,1024); if(-1 == (len = read(c_fd,buf,1024)) ) { fprintf(stdout,"read fail!!!\n"); return ERROR; } else if(len > 0) { buf[len]='\0'; fprintf(stdout,"I have recv:%d--%s\n",len,buf); } else { fprintf(stdout,"what happend!!!\nlen[%d]\n",len); } } } |
|
来自: 海漩涡 > 《my program》