📄 p12-24.c
字号:
#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <sys/socket.h>#include <sys/un.h>#include "err_exit.h"#define SERVER "/tmp/serversocket"#define CLIENT "/tmp/mysocket"#define MAXMSG 512int make_named_socket(const char *name);int main (int argc, char **argv){ int sock, i; char message[MAXMSG]; struct sockaddr_un name; size_t size; int nbytes; if (argc < 2) /* 命令行未给出要发送的消息 */ exit(0); /* 创建套接字 */ sock = make_named_socket(CLIENT); /* 初始服务套接字地址结构*/ name.sun_family = AF_UNIX; strcpy(name.sun_path, SERVER); size = strlen(name.sun_path) + sizeof(name.sun_family); for (i = 1; i<argc; i++){ /* 发送数据报 */ nbytes = sendto(sock, argv[i], strlen(argv[i])+1, 0, (struct sockaddr *)&name, size); if (nbytes < 0) err_exit("sendto(client)"); /* 等待回答 */ nbytes = recvfrom(sock, message, MAXMSG, 0, NULL, NULL); if (nbytes < 0) err_exit("recfrom (client)"); /* 打印出收到的回答 */ printf("Client: got message: %s\n", message); } /* 清理 */ remove (CLIENT); close (sock);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -