// 示例:T-Box 客户端连接云端
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
// 1. 允许复用处于 TIME_WAIT 的端口
int reuse = 1;
setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse));
// 2. 绑定到固定本地端口(如 50001)
struct sockaddr_in local;
memset(&local, 0, sizeof(local));
local.sin_family = AF_INET;
local.sin_addr.s_addr = INADDR_ANY;
local.sin_port = htons(50001); // 固定端口
if (bind(sockfd, (struct sockaddr*)&local, sizeof(local)) < 0) {
// 可降级为自动分配
printf("bind failed, fallback to random port\n");
}
// 3. 连接云端服务器
struct sockaddr_in server;
// ... 设置 server 地址
connect(sockfd, (struct sockaddr*)&server, sizeof(server));
05-13
1239
1239

被折叠的 条评论
为什么被折叠?



