我用htons()為什么轉換后的端口會不一樣?比如我用htons(4367),調試的結果居然變為3857,這是為什么?怎么解決啊?------------------int connectclient(){SOCKET s;s=::socket(AF_INET,SOCK_STREAM,0);SOCKADDR_IN sin;sin.sin_family=AF_INET;sin.sin_port=htons(4367);sin.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");---------------------------------------------------調試跟蹤居然端口變成了3857。。這是為什么呀。。程序好像沒錯呀?下面這段1589居然變成了13574,好像指定端口居然成了隨機端口了。sockaddr_in client;client.sin_family=AF_INET;client.sin_port=htons(1589);client.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");不好意思。1樓。想來你沒搞清。我不是不懂這個函數的原意。是說我明明指定端口。。而程序在編譯時卻自動改變端口號。造成我的客戶端無法連接上我的服務端的指定端口?要怎么才能連接上?(我的客戶端的指定端口和服務端的一樣,這沒有錯)
求問,關于htons函數的問題,具體請看下面的情況!
慕工程0101907
2021-10-13 14:11:12