⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aa.c

📁 unix/linux套接字socket编程文档整理
💻 C
字号:
/****************************************/
/*                                      */
/*      simple-client.c                 */
/*                                      */
/*      Alan Dix                        */
/*                                      */
/*      client for a simple 'talk'      */
/*      application with strict         */
/*      turn-taking                     */
/*                                      */
/*      15th January 1996               */
/*                                      */
/****************************************/

#include <stdio.h>
#include <string.h>
#include "sock.h"


#define PORTNO  6789          /*  default port and host  */
#define HOST    "zeus"

char *host = HOST;
int   port = PORTNO;

#define BUFF_LEN 200
char buff[BUFF_LEN];
int buf_len = BUFF_LEN-1;     /*  allow room for terminating '\0'  */

char *progname;

void failmess(char *mess)
{
    fprintf( stderr, "%s: %s\n", progname, mess );
    exit(1);
}

main( int argc, char**argv )
{
    int  serv_sk, len;
    char *errmess;

    progname = argv[0];

    if ( parse_network_args( &argc, argv, &host, &port, &errmess ) != 0 )
        failmess(errmess);

  /*  request connection to server  */
    serv_sk = tcp_active_open(host,port);
        /*  waits for server to accept             */
        /*  returns negative result on failure     */
        /*  host is server誷 machine               */
    if ( serv_sk < 0 ) { perror("socket"); exit(1); }
    printf("You can send now\n");
 
/*  talk to server  */
    for(;;) {
      /*  our turn first  */
        printf("speak: ");
        if ( gets(buff) == NULL ) {    /* user typed end of file  */
            close(serv_sk);
            printf("bye bye\n");
            break;
            }
        write(serv_sk,buff,strlen(buff));

      /*  wait for server誷 message  */
        len = read(serv_sk,buff,buf_len); 
        if (len == 0) {
            printf("server finished the conversation\n");
            break;
            }
        buff[len] = '\0';
        printf("server says: %s\n",buff);
    }
    exit(0);
}


⌨️ 快捷键说明

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