映射服务器IP地址和这三个1701、4500、500UPD端口到公网地址和端口报错如何解决?

首先防火墙已开通三个端口

执行chain=dstnat action=dst-nat to-addresses=192.168.0.2 to-ports=1701 protocol=udp dst-address=公网IP dst-port=1701
chain=dstnat action=dst-nat to-addresses=192.168.0.2 to-ports=4500 protocol=udp dst-address=公网IP dst-port=4500
chain=dstnat action=dst-nat to-addresses=192.168.0.2 to-ports=500 protocol=udp dst-address=公网IP dst-port=500

提示-bash: to-addresses=192.168.0.2: command not

请求高人指点?谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当然可以,以下是一个简单的 C upd 多线程服务器的例子: ``` #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <arpa/inet.h> #include <pthread.h> #include <unistd.h> #define BUF_SIZE 1024 #define MAX_CLIENT 256 void *handle_client(void *arg); int main(int argc, char *argv[]) { int server_sock, client_sock; struct sockaddr_in server_addr, client_addr; socklen_t client_addr_size; pthread_t t_id; if (argc != 2) { printf("Usage: %s <port>\n", argv[0]); exit(1); } server_sock = socket(PF_INET, SOCK_DGRAM, 0); if (server_sock == -1) { perror("socket() error"); exit(1); } memset(&server_addr, 0, sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_addr.s_addr = htonl(INADDR_ANY); server_addr.sin_port = htons(atoi(argv[1])); if (bind(server_sock, (struct sockaddr*)&server_addr, sizeof(server_addr)) == -1) { perror("bind() error"); exit(1); } while (1) { client_addr_size = sizeof(client_addr); char buf[BUF_SIZE]; int str_len = recvfrom(server_sock, buf, BUF_SIZE, 0, (struct sockaddr*)&client_addr, &client_addr_size); if (str_len == -1) { perror("recvfrom() error"); break; } buf[str_len] = 0; printf("Received from %s:%d: %s\n", inet_ntoa(client_addr.sin_addr), ntohs(client_addr.sin_port), buf); pthread_create(&t_id, NULL, handle_client, (void*)&client_sock); pthread_detach(t_id); } close(server_sock); return 0; } void *handle_client(void *arg) { int client_sock = *((int*)arg); char buf[BUF_SIZE]; int str_len; while ((str_len = read(client_sock, buf, BUF_SIZE)) != 0) { write(client_sock, buf, str_len); } close(client_sock); return NULL; } ``` 这个服务器使用 UDP 协议,可以同时处理多个客户端的请求。当有客户端连接时,服务器会创建一个新的线程来处理该客户端的请求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值