#include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<unistd.h>
#include<ctype.h>
#include<arpa/inet.h>
#include <pthread.h>
#include <stdlib.h>
#include<pthread.h>
// =================================================
// =================================================
// 宏定义
// =================================================
// =================================================
#define RECE_BUF_LEN 128 // receive buffer length
#define SEND_BUF_LEN 128 // send buffer length
#define PORT_1 0xa5a6 // port
#define PORT_2 0xa5a7 // port
#define PORT_3 0xa5a6 // port
#define SERVER_INIT_IP_1 "192.168.50.130"
#define SERVER_INIT_IP_2 "192.168.50.130"
#define CLIENT_INIT_IP "192.168.50.129"
typedef struct {
int* server_fd;
int domain;
int type;
int protocol;
struct sockaddr_in* server_addr;
const char *strptr;
uint16_t hostshort;
int serverIndex;
}SERVER_INFO;
// =================================================
// =================================================
// 全局变量
// =================================================
// =================================================
int g_uDebugFlag = 0;
// 服务器端文件描述符
int server_fd_1;
int server_fd_2;
// 发送数据的客户端地址信息的结构体
struct sockaddr_in client_addr_from;
socklen_t socklen = sizeof(client_addr_from);
// 用于存储接收到的数据
char receBuf[RECE_BUF_LEN];
// 用于存储发送的数据
char sendBuf[SEND_BUF_LEN];
struct sockaddr_in client_addr;
// sockaddr数据结构struct sockaddr_in中包含了IP地址协议类型、IP地址和端口号
struct sockaddr_in server_addr_1;
struct sockaddr_in server_addr_2;
// =================================================
// =================================================
// 函数
// =================================================
// =================================================
// 对struct sockaddr_in进行设置
int setSockaddr_in(struct sockaddr_in *pAddr, sa_family_t sin_family, const char *strptr, uint16_t hostshort){
// 对socket数据结构内存初始化
memset(pAddr, 0, sizeof(struct sockaddr_in));
// printf("sizeof(st
能够完成开启两个线程分别来启动两个服务器,收到数据后发给特定的客户端
最新推荐文章于 2020-11-22 19:23:37 发布
本文介绍了如何通过编程实现开启两个独立的线程,每个线程启动一个服务器,当服务器接收到数据后,能即时转发到指定的客户端。这种方法在并发处理和实时通信场景中具有较高的应用价值。
摘要由CSDN通过智能技术生成