一、服务器程序

int main(int argc, char **argv)
{
    int                    sockfd;
    struct sockaddr_un    servaddr, cliaddr;

    sockfd = socket(AF_LOCAL, SOCK_DGRAM, 0);

    unlink(UNIXDG_PATH);
    bzero(&servaddr, sizeof(servaddr));
    servaddr.sun_family = AF_LOCAL;
    strcpy(servaddr.sun_path, UNIXDG_PATH);

    bind(sockfd, (SA *) &servaddr, sizeof(servaddr));

    dg_echo(sockfd, (SA *) &cliaddr, sizeof(cliaddr));
}

二、客户端程序

int main(int argc, char **argv)
{
    int                    sockfd;
    struct sockaddr_un    cliaddr, servaddr;

    sockfd = socket(AF_LOCAL, SOCK_DGRAM, 0);

    bzero(&cliaddr, sizeof(cliaddr));    /* bind an address for us */
    cliaddr.sun_family = AF_LOCAL;
    strcpy(cliaddr.sun_path, tmpnam(NULL));

    bind(sockfd, (SA *) &cliaddr, sizeof(cliaddr));

    bzero(&servaddr, sizeof(servaddr));  /* fill in server's address */
    servaddr.sun_family = AF_LOCAL;
    strcpy(servaddr.sun_path, UNIXDG_PATH);

    dg_cli(stdin, sockfd, (SA *) &servaddr, sizeof(servaddr));

    exit(0);
}

 

相关文章:

  • 2021-08-14
  • 2021-09-16
  • 2022-01-25
  • 2021-08-20
  • 2019-05-25
  • 2021-08-21
  • 2021-08-18
  • 2021-10-14
猜你喜欢
  • 2022-02-25
  • 2022-02-14
  • 2021-12-17
  • 2021-07-11
  • 2022-12-23
  • 2022-01-02
  • 2019-03-22
相关资源
相似解决方案