- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我尝试在 C 语言的服务器应用程序中打印客户端端口。但是我得到客户端端口的负数,这是什么奇怪的行为:-/任何人都知道哪里可能有问题吗?
导致问题的部分代码:
struct sockaddr_in client_address;
int chosenPort = (int) ntohl(client_address.sin_port);
pritf("Client port is %d, chosenPort");
我得到类似 -2121400320 的端口。
最佳答案
改用 ntohs()
- sin_port
是一个 16 位值。
关于c - ntohl 在 sin_port 上使用并得到负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9630868/
我创建了下面的Excel VBA代码,该代码使用Winsock API连接到IP地址,从Excel单元格发送文本字符串,然后返回接收文本字符串。 我的代码最初指向带有端口127.0.0.1的IP地址8
我正在学习 C++ 套接字编程。我知道套接字必须绑定(bind)到服务器地址,在客户端,调用 connect() 时有一个内部 bind() 。服务器监听 struct sockaddr_in 的 s
如果我需要获取 IP 的主机名,我应该使用哪个端口? getnameinfo() 从哪里获取主机名? struct sockaddr_in sa; sa.sin_family = AF_INET
我正在编写一个服务器-客户端程序,在服务器中我在服务器上使用 getaddrinfo 和 getsockname 来获取有关本地 IP 地址和本地绑定(bind)端口号的信息。使用此信息,我启动我的客
我尝试在 C 语言的服务器应用程序中打印客户端端口。但是我得到客户端端口的负数,这是什么奇怪的行为:-/任何人都知道哪里可能有问题吗? 导致问题的部分代码: struct sockaddr_in cl
我正在尝试分配函数传递给它的端口号。收到的端口号在收到时正确显示,但是当我尝试将该端口号分配给新的套接字时,该端口号未分配,并且每次都分配了其他一些号码 52428。我尽力自己找出错误,但我失败了:(
我正在尝试制作一个接受连接的非常简单的服务器。 int sock, serv; struct sockaddr_in in_sock; serv = socket(AF_INET, SOCK_STRE
我是一名优秀的程序员,十分优秀!