linux socket编程-client
来源:互联网 发布:js math 向下取整 编辑:程序博客网 时间:2024/05/01 07:33
#include <netinet/in.h>#include <stdio.h>#include <string.h>#include <sys/socket.h>#define LETH 1024#define IP "130.10.3.135"int main(){ int sockfd, n; char recvline[LETH]; char sendline[LETH]; struct sockaddr_in servaddr; if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { printf("create socket error.\n"); return -1; } printf("create socket.\n"); memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(6666); if(inet_pton(AF_INET, IP, &servaddr.sin_addr) <= 0) { printf("inet_pton error %s\n", IP); close(sockfd); return -1; } if (connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0) { printf("connect socket error.\n"); close(sockfd); return -1; } printf("connect socket.\n"); while(1) { fgets(sendline, LETH, stdin); if (send(sockfd, sendline, strlen(sendline), 0) < 0) { printf("send msg error.\n"); close(sockfd); return -1; } printf("send msg: %s\n", sendline); if (strstr(sendline, "quit")) { printf("client exit.\n"); break; } n = recv(sockfd, recvline, LETH, 0); recvline[n] = '\0'; printf("recv msg from server: %s\n", recvline); } close(sockfd); return 0;}