荆棘的思念 荆棘的思念
博客:http://bramblex.pw
关注数: 44 粉丝数: 61 发帖数: 18,417 关注贴吧数: 13
被socket虐死了…我就是没搞清楚那里出错了…… /* server.c */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #define MAXLINE 4096 #define LOCAL_ADDR 127.0.0.1 #define SERV_PORT 0x8080 int main(void) { //创建套接字/*{{{*/ int server_fd; if ( (server_fd = socket(AF_INET,SOCK_STREAM,0)) == -1 ) { printf("Create socket error\n"); return -1; } else printf("Create socket succeed\n"); //本机地址信息 struct sockaddr_in server_addr; //初始化地址信息 bzero ( &server_addr, sizeof(struct sockaddr_in)); server_addr.sin_family = AF_INET; server_addr.sin_addr.s_addr = htonl(INADDR_ANY); server_addr.sin_port = htons(SERV_PORT); //绑定 if( bind(server_fd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr)) == -1) { printf("Bind error!\n"); return -1; } else printf("Bind succeed\n"); //监听 if( listen(server_fd, 5) == -1) { printf("listen error!\n"); return -1; } else printf("listen succeed\n"); /*}}}*/ //建立连接进行服务/*{{{*/ int serverin_size = sizeof(struct sockaddr_in ); struct sockaddr_in client_addr; int client_fd; while(1) { serverin_size = sizeof(struct sockaddr_in ); //阻塞等待请求 client_fd = accept( server_fd, (struct sockaddr *)(&client_addr),&serverin_size); if( client_fd = -1 ) { printf("accept error\n"); return -1; } else printf("accept succeed!\n"); //发送消息 if( write( client_fd , "Connect succeed\n" , 17) == -1 ) { printf("write error\n"); return -1; } else printf("write succeed\n"); } /*}}}*/ //关闭套接字 close ( server_fd ); printf("close socket succeed...\n"); return 0; } /* client.c */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #define MAXLINE 4096 #define LOCAL_ADDR 127.0.0.1 #define SERV_PORT 0x8080 int main (void) { //老规矩,创建套接字 int client_fd; if ( ( client_fd = socket(AF_INET,SOCK_STREAM,0)) == -1 ) { printf("create socket error\n"); return -1; } else printf("create socket succeed\n"); //初始化地址信息 struct sockaddr_in server_addr; server_addr.sin_family=AF_INET; server_addr.sin_addr.s_addr=inet_addr("127.0.0.1"); server_addr.sin_port=htons(SERV_PORT); //连接 if ( -1 == connect( client_fd , (struct sockaddr *)(&server_addr),sizeof(struct sockaddr))) { printf("connect error\n"); return -1; } printf("connect succeed\n"); //接受数据 char buffer[MAXLINE]={'\0'}; int recbytes; if ( -1 == ( recbytes = read( client_fd , buffer , MAXLINE ))) { printf("read error\n"); return -1; } printf("read succeed\n"); printf("%s\n" , buffer ); close(client_fd); return 0; }
首页 2 3 4 5 6 7 下一页