client.c

来自「Client program for Chatting in Unix」· C语言 代码 · 共 54 行

C
54
字号
#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <netdb.h> void error(char *msg){    perror(msg);    exit(0);}int main(int argc, char *argv[]){    int sockfd, portno, n;    struct sockaddr_in serv_addr;    struct hostent *server;    char buffer[256];    if (argc < 3) {       fprintf(stderr,"usage %s hostname port\n", argv[0]);       exit(0);    }    portno = atoi(argv[2]);    sockfd = socket(AF_INET, SOCK_STREAM, 0);    if (sockfd < 0)         error("ERROR opening socket");    server = gethostbyname(argv[1]);    if (server == NULL) {        fprintf(stderr,"ERROR, no such host\n");        exit(0);    }    bzero((char *) &serv_addr, sizeof(serv_addr));    serv_addr.sin_family = AF_INET;    bcopy((char *)server->h_addr,          (char *)&serv_addr.sin_addr.s_addr,         server->h_length);    serv_addr.sin_port = htons(portno);    if (connect(sockfd,&serv_addr,sizeof(serv_addr)) < 0)         error("ERROR connecting");    printf("Please enter the message: ");    bzero(buffer,256);    fgets(buffer,255,stdin);    n = write(sockfd,buffer,strlen(buffer));    if (n < 0)          error("ERROR writing to socket");    bzero(buffer,256);    n = read(sockfd,buffer,255);    if (n < 0)          error("ERROR reading from socket");    printf("%s\n",buffer);    return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?