Unix域套接字—基于文件的Socket通信(2)
导读:Unix域套接字—基于文件的Socket通信,client.c 文件: #include sys/socket.h>#include sys/un.h>#include stdio.h>#include stdlib.h>#include unistd.h>#define SOCKET_PATH "example.sock"#define BUFFER_SIZE 1024int main() { int client_socket
Unix域套接字—基于文件的Socket通信
client.c文件:
#include <sys/socket.h>
#include <sys/un.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define SOCKET_PATH "example.sock"
#define BUFFER_SIZE 1024
int main() {
int client_socket;
struct sockaddr_un server_address;
char buffer[BUFFER_SIZE];
ssize_t bytes_received;
// 创建套接字
client_socket = socket(AF_UNIX, SOCK_STREAM, 0);
if (client_socket == -1) {
perror("Socket creation failed");
exit(EXIT_FAILURE);
}
// 设置服务器地址结构
memset(&server_address, 0, sizeof(server_address));
server_address.sun_family = AF_UNIX;
strncpy(server_address.sun_path, SOCKET_PATH, sizeof(server_address.sun_path) - 1);
// 连接服务器
if (connect(client_socket, (struct sockaddr*)&server_address, sizeof(server_address)) == -1) {
perror("Connection failed");
exit(EXIT_FAILURE);
}
// 发送数据
const char* message = "Hello, Server!";
if (send(client_socket, message, strlen(message), 0) == -1) {
perror("Send failed");
exit(EXIT_FAILURE);
}
printf("发送消息: %s\n", message);
// 接收响应
bytes_received = recv(client_socket, buffer, sizeof(buffer), 0);
if (bytes_received == -1) {
perror("Receive failed");
exit(EXIT_FAILURE);
}
buffer[bytes_received] = '\0'; // 添加字符串结束符
printf("服务器响应: %s\n", buffer);
// 关闭套接字
close(client_socket);
return 0;
}
效果展示:

大家可以根据实际的需求,对这个Demo进行修改,通过这个例子我们可以基本认识到通过文件建立Unix域套接字的通信过程。
以上就是IT袋网带来的Unix域套接字—基于文件的Socket通信的具体介绍,供网友们借鉴参考。
相关阅读
-
如何给电脑重新装系统教程 家用电脑重新做系统步骤
一个电脑小知识,为大家介绍如何给电脑重新装系统教程和家用电脑重新做系统步骤的教程内容,继续往下看吧! 上期教了大家如何制作U盘启动盘,那么 这期自然是教大家如何重装系统了,
-
win10怎么卸载影子系统 如何进入正常模式卸载影子系统
IT电脑小知识篇,关于win10怎么卸载影子系统的教程内容,关于win10怎么卸载影子系统 如何进入正常模式卸载影子系统,接下来IT袋小编就来介绍。 如果使用的是win10操作系统,想要将电脑上的
-
华为荣耀7最新系统版本多少 分享荣耀7.1系统更新名单
一篇很详细的教程是关于华为荣耀7最新系统版本多少和分享荣耀7.1系统更新名单的电脑方面的小经验,具体介绍如下: 荣耀于今天下午隆重举行开发者大会,正式发布了备受瞩目的全新全场景
-
win11怎么取消开机密码 windows11系统怎么取消开机密码
对于大多数网友来说win11怎么取消开机密码IT技巧方面的经验,win11取消开机密码分为四步,需要在更改密码页面进行操作即可,具体操作步骤如下:


