第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教下,我為什么獲取客戶端ip地址總是:204.204.204.204

請教下,我為什么獲取客戶端ip地址總是:204.204.204.204

拉莫斯之舞 2023-03-19 19:15:28
源碼如下:// 版本:1.0// 日期:2013.7.13// 更改日期:// 功能:基于TCP的Sockets編程// Win32Sock_service.cpp : 定義控制臺應用程序的入口點。// #include "stdafx.h"#include <WinSock2.h> //包含頭文件#include <stdio.h>#include <Windows.h>#pragma comment(lib, "WS2_32.lib") //顯式連接套接字庫int _tmain(int argc, _TCHAR* argv[]){WSADATA data; //定義WSADATA結構體對象WORD w = MAKEWORD(2,0); //定義版本號碼char sztext[] = "welcome !!\r\n"; //定義并初始化化發(fā)送到客戶端的字符串數(shù)組::WSAStartup(w, &data); //初始化套接字庫SOCKET s = NULL,s1 = NULL; //定義連接套接字和數(shù)據(jù)收發(fā)套接字句柄s = ::socket(AF_INET, SOCK_STREAM, 0); //創(chuàng)建TCP套接字sockaddr_in addr,addr2; //定義套接字地址結構int n =sizeof(addr2); //獲取套接字地址結構大小addr.sin_family = AF_INET; //初始化地址結構addr.sin_port = htons(1065);addr.sin_addr.S_un.S_addr = INADDR_ANY;::bind(s, (sockaddr*)&addr2,sizeof(addr)); //綁定套接字::listen(s, 5); //監(jiān)聽套接字printf("service is running\r\n");while(true){s1 = ::accept(s, (sockaddr*)&addr2, &n); //接受連接請求if (s1 != NULL){printf("%s have been connect now", inet_ntoa(addr2.sin_addr));::send(s1,sztext, sizeof(sztext), 0); //向客戶端發(fā)送字符串數(shù)組}//定義::closesocket(s); //關閉套接字句柄::closesocket(s1);::WSACleanup(); //釋放套接字庫if (getchar()){return 0;} else {::Sleep(100);}}}
查看完整描述

2 回答

?
瀟瀟雨雨

TA貢獻1833條經(jīng)驗 獲得超4個贊

獲取地址可以通過getsockname()函數(shù)和getpeername()函數(shù)來分別獲得調(diào)用bind()和connect()后套接字的主機地址和端口號和遠端端點地址和端口號。我在使用getpeername時第三個參數(shù)沒有初始化于是就出現(xiàn)了204.204.204.204。應該是inet_ntop和inet_ntoa在沒有數(shù)據(jù)的情況下給的數(shù)吧

查看完整回答
反對 回復 2023-03-22
?
Smart貓小萌

TA貢獻1911條經(jīng)驗 獲得超7個贊

“bind(s, (sockaddr*)&addr2,sizeof(addr));” 改為“bind(s, (sockaddr*)&addr,sizeof(addr));”即可 。

查看完整回答
反對 回復 2023-03-22
  • 2 回答
  • 0 關注
  • 114 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號