gpt4 book ai didi

c - Bsd 套接字如何找到用于连接的服务器端口号?

转载 作者:太空宇宙 更新时间:2023-11-04 03:30:14 26 4
gpt4 key购买 nike

我有一个服务器:

./server portNumber

我有一个客户:

./client serverIpAddress

我在客户端只有服务器IP地址。我想连接到服务器套接字。但是每次 Server Port Number 都不一样。如何在客户端使用 BSD 套接字连接到服务器套接字?不可能吗?我必须知道服务器端口号吗?

简单使用 BSD 套接字:

    int socket_desc;
struct sockaddr_in server;

//Create socket
socket_desc = socket(AF_INET , SOCK_STREAM , 0);
if (socket_desc == -1)
{
printf("Could not create socket");
}

server.sin_addr.s_addr = inet_addr(ipAddress);
server.sin_family = AF_INET;
server.sin_port = htons( ThisIsServerPortNumber );

//Connect to remote server
if (connect(socket_desc , (struct sockaddr *)&server , sizeof(server)) < 0)
{
puts("connect error");
return 1;
}

最佳答案

选择 port number 49152 和 65535 之间用于开发。如果您的想法成功,您需要注册一个介于 1024 和 49151 之间的端口号。从 0 到 1023 的端口号是众所周知的端口,例如端口 80 用于 HTTP 服务器。

TCP Port Service Multiplexer协议(protocol)旨在允许发现 TCP 服务器的端口号,但由于安全问题很少使用。

关于c - Bsd 套接字如何找到用于连接的服务器端口号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37370041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com