当前位置: 首页 > wzjs >正文

中文企业网站模板wordpress+字体修改字体大小

中文企业网站模板,wordpress+字体修改字体大小,外贸网站租用外国服务器好还是自己装一个服务器好,南京最大网站建设公司好,下面是已经整合完善的版本: ✅ 功能点(你要求的全部实现了): Unix Domain Socket (SOCK_STREAM) 服务端先启动:正常通信 客户端先启动:等待服务端直到连接成功 客户端每秒发送一条消息 服务端…

好,下面是已经整合完善的版本:


✅ 功能点(你要求的全部实现了):

  • Unix Domain Socket (SOCK_STREAM)
  • 服务端先启动:正常通信
  • 客户端先启动:等待服务端直到连接成功
  • 客户端每秒发送一条消息
  • 服务端收到后打印并原样回传
  • 服务端断开后,客户端自动重连继续通信
  • 稳定循环运行

📁 项目结构

unix_socket_loop/
├── server.c
└── client.c

✅ server.c(服务端)

// server.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <string.h>
#include <signal.h>#define SOCKET_PATH "/tmp/mysocket"
#define BUFFER_SIZE 128int server_fd = -1;void cleanup() {if (server_fd != -1) close(server_fd);unlink(SOCKET_PATH);printf("Server cleanup done.\n");exit(0);
}int main() {signal(SIGINT, cleanup); // Ctrl+C 退出时清理struct sockaddr_un addr;char buffer[BUFFER_SIZE];// 创建 socketserver_fd = socket(AF_UNIX, SOCK_STREAM, 0);if (server_fd == -1) {perror("socket");exit(EXIT_FAILURE);}unlink(SOCKET_PATH); // 清除旧 socket 文件memset(&addr, 0, sizeof(addr));addr.sun_family = AF_UNIX;strncpy(addr.sun_path, SOCKET_PATH, sizeof(addr.sun_path) - 1);// bind & listenif (bind(server_fd, (struct sockaddr*)&addr, sizeof(addr)) == -1) {perror("bind");exit(EXIT_FAILURE);}if (listen(server_fd, 5) == -1) {perror("listen");exit(EXIT_FAILURE);}printf("Server is listening at %s ...\n", SOCKET_PATH);while (1) {int client_fd = accept(server_fd, NULL, NULL);if (client_fd == -1) {perror("accept");continue;}printf("Client connected.\n");while (1) {memset(buffer, 0, BUFFER_SIZE);ssize_t len = read(client_fd, buffer, BUFFER_SIZE - 1);if (len <= 0) {printf("Client disconnected.\n");close(client_fd);break;}printf("Server received: %s\n", buffer);write(client_fd, buffer, strlen(buffer)); // 回传}}cleanup();
}

✅ client.c(客户端)

// client.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <string.h>
#include <errno.h>#define SOCKET_PATH "/tmp/mysocket"
#define BUFFER_SIZE 128int connect_to_server() {int fd = socket(AF_UNIX, SOCK_STREAM, 0);if (fd == -1) {perror("socket");return -1;}struct sockaddr_un addr;memset(&addr, 0, sizeof(addr));addr.sun_family = AF_UNIX;strncpy(addr.sun_path, SOCKET_PATH, sizeof(addr.sun_path) - 1);while (connect(fd, (struct sockaddr*)&addr, sizeof(addr)) == -1) {printf("Waiting for server... (%s)\n", strerror(errno));sleep(1);}printf("Connected to server.\n");return fd;
}int main() {char buffer[BUFFER_SIZE];int counter = 0;int client_fd = connect_to_server();if (client_fd < 0) {fprintf(stderr, "Failed to connect.\n");return EXIT_FAILURE;}while (1) {snprintf(buffer, BUFFER_SIZE, "Hello %d", counter++);if (write(client_fd, buffer, strlen(buffer)) == -1) {perror("write");close(client_fd);printf("Connection lost. Reconnecting...\n");client_fd = connect_to_server();continue;}memset(buffer, 0, BUFFER_SIZE);ssize_t len = read(client_fd, buffer, BUFFER_SIZE - 1);if (len <= 0) {printf("Server disconnected. Reconnecting...\n");close(client_fd);client_fd = connect_to_server();continue;}printf("Client received: %s\n", buffer);sleep(1);}close(client_fd);return 0;
}

✅ 编译和运行

gcc server.c -o server
gcc client.c -o client

运行服务端(终端1):

./server

可以先或后运行客户端(终端2):

./client

✅ 测试行为

测试行为结果
先运行 client等待 server 启动后自动连接
server 崩溃后重新启动client 会自动重连继续发数据
server 收到后打印并回传正常
client 每秒发送一条数据正常

✅ 下一步推荐扩展(可选):

  • 多客户端并发支持(server 用 forkselect
  • 消息使用 TLV 或 JSON
  • 增加超时处理或心跳机制
  • 加日志输出和守护进程运行

如需我帮你扩展支持多客户端并发或改成 select 多路复用的,直接说即可。


文章转载自:

http://DKF58gHF.rttxx.cn
http://FcVDOiFQ.rttxx.cn
http://AoSie16Y.rttxx.cn
http://0oOuhYL0.rttxx.cn
http://496z5J5a.rttxx.cn
http://yVQsHuB8.rttxx.cn
http://yrW7V4nH.rttxx.cn
http://6swzjxcE.rttxx.cn
http://4egR3sIn.rttxx.cn
http://IhgLTMsP.rttxx.cn
http://VjtuJNCl.rttxx.cn
http://vO92rREZ.rttxx.cn
http://ZnzNgAda.rttxx.cn
http://s9YPsWAT.rttxx.cn
http://e4rQtDG6.rttxx.cn
http://75hxqPID.rttxx.cn
http://EquhBdGo.rttxx.cn
http://3LCjQymO.rttxx.cn
http://cmZvyw7d.rttxx.cn
http://n2YobVNP.rttxx.cn
http://V21nHFFH.rttxx.cn
http://0jlZYceH.rttxx.cn
http://gx3h6K7h.rttxx.cn
http://rygPR6r2.rttxx.cn
http://3y1HeRBq.rttxx.cn
http://yBlMDYpj.rttxx.cn
http://Kv9v8OMa.rttxx.cn
http://MpJWK4ke.rttxx.cn
http://4m6Rlwkk.rttxx.cn
http://LWAP0wzQ.rttxx.cn
http://www.dtcms.com/wzjs/648514.html

相关文章:

  • 佛山快速建站哪家服务专业上海网站定制费用
  • 短视频营销的案例南京网站流量优化
  • 网站建设设计猫和老鼠做一个企业的官网可以做静态网站
  • wordpress 建站公司建设一个和聚享游差不多的网站
  • 找人帮你做ppt的网站吗国家开发大学网站作业怎么做
  • 长沙公司网站设计报价商城网站建设分为几块
  • 河南建设厅二建公示网站首页58同城类型网站制作
  • 棋牌类网站设计建设如何申请网页域名
  • 深圳网站建设公司官网购物网站上分期怎么做的
  • asp.net网站开发上海网站建设品牌
  • 怎样在手机上建设网站wordpress点击创建配置文件没反应
  • 客户网站建设洽谈方案福建省建设资格管理中心网站
  • 网站 相对路径云服务器建立多个网站
  • 网站怎么做才被收录快成都住建局官网从哪里查房屋备案没有
  • it公论 是建立在什么网站网站开发示例
  • 如何在百度上建网站安徽网站建设网站运营
  • 企业网站建设飞沐局网站建设合同
  • 站长工具seo综合查询pc网站制作的评价指标
  • 建站管理域名管理绑定外部域名中html5博客网站模板
  • 肇庆网站优化建设工业互联网平台排名
  • 做动图素材网站如何建设一个普通网页网站
  • 免费建设一个网站廊坊网站建设外包
  • 查询数据的网站怎么做在建设部网站首页
  • 阿里云大学 网站建设男直接做的视频网站
  • 中国建设银行属于什么类型网站软件开发税率是13%还是6
  • 网站入股云建站石家庄网站制作设计
  • wordpress端口映射wordpress编辑优化
  • 建设厅科技中心网站首页买个网站域名多少钱
  • 网站建设工作计划免费的wordpress主题好
  • 创建自己的网站怎么弄优良的定制网站建设制作商