diff --git a/engine2.0/engine2.0/Depends/include/Iocp.hpp b/engine2.0/engine2.0/Depends/include/Iocp.hpp index 7bb9e462e52dc1f454beb5c2c7406b5eedb5a7e6..9dd193fc4d7421d569b7ba4fe51cdec0a7742c47 100644 --- a/engine2.0/engine2.0/Depends/include/Iocp.hpp +++ b/engine2.0/engine2.0/Depends/include/Iocp.hpp @@ -368,11 +368,15 @@ namespace doyou { &nRemoteLen ); + // 获取IP地址-本地 + char* ipLocal = inet_ntoa(pLocalAddr_in->sin_addr); // 指针间接访问对象, 函数返回指针指向的对象,是一个静态都变量,不会随着函数执行结束而释放 + CELLLog_Info("AcceptEx ipv4_local[%s]", ipLocal); + // 获取IP地址-远端客户端 - char* ip = inet_ntoa(pRemoteAddr_in->sin_addr); // 指针间接访问对象, 函数返回指针指向的对象,是一个静态都变量,不会随着函数执行结束而释放 - //CELLLog_Info("AcceptEx ipv4[%s]", ip); + char* ipRemote = inet_ntoa(pRemoteAddr_in->sin_addr); // 指针间接访问对象, 函数返回指针指向的对象,是一个静态都变量,不会随着函数执行结束而释放 + CELLLog_Info("AcceptEx ipv4_remote[%s]", ipRemote); - return ip; // 指针变量值拷贝 + return ipRemote; // 指针变量值拷贝 } // 获取新加入客户端本端和远端IP信息-IPV6 @@ -399,12 +403,17 @@ namespace doyou { &nRemoteLen ); + // 获取IP地址-本地 + static char ipLocal[INET6_ADDRSTRLEN] = {}; + inet_ntop(AF_INET6, &pLocalAddr_in->sin6_addr, ipLocal, INET6_ADDRSTRLEN - 1); + CELLLog_Info("AcceptEx ipv6_local[%s]", ipLocal); + // 获取IP地址-远端客户端, 从para2中获取IPV6地址,存储到para3 - static char ip[INET6_ADDRSTRLEN] = {}; // 静态对象 - inet_ntop(AF_INET6, &pRemoteAddr_in->sin6_addr, ip, INET6_ADDRSTRLEN - 1); // ?-1: 如果有结束符就不用拷贝 - //CELLLog_Info("AcceptEx ipv6[%s]", ip); + static char ipRemote[INET6_ADDRSTRLEN] = {}; // 静态对象 + inet_ntop(AF_INET6, &pRemoteAddr_in->sin6_addr, ipRemote, INET6_ADDRSTRLEN - 1); // ?-1: 如果有结束符就不用拷贝 + CELLLog_Info("AcceptEx ipv6_remote[%s]", ipRemote); - return ip; // 指针变量值拷贝 + return ipRemote; // 指针变量值拷贝 } diff --git a/engine2.0/engine2.0/Doc/Record.txt b/engine2.0/engine2.0/Doc/Record.txt index 629869732c59bf85baa13b99f9f18684779d548a..e45cb6cd2277aceec805a15bbc115d433f64e9e0 100644 --- a/engine2.0/engine2.0/Doc/Record.txt +++ b/engine2.0/engine2.0/Doc/Record.txt @@ -65,5 +65,11 @@ IP鐩存帴瀛樺叆榛戝悕鍗曚腑锛屾墍浠ワ紝鏈嶅姟绔幏鍙栧鎴风IP鍦板潃寰堟湁鎰 20.娉ㄦ剰鍖哄垎鎸囬拡鍙橀噺鐨勫硷紝鍜屾寚閽堝彉閲忔寚鍚戠殑瀵硅薄锛屽彲浠ユ湁澶氫釜鎸囬拡鍙橀噺瀛樺偍鐩稿悓鐨勫硷紝杩欎簺鎸囬拡閮芥寚鍚戝悓涓瀵硅薄銆 +21.涓鍙癙C鍙互鍚屾椂瀛樺湪澶氫釜缃戝崱锛屼竴涓綉鍗″氨鏄竴涓狪P銆 + +22.windows鍜宭inux绯荤粺ipv6宸紓锛 +鍦╳indows绯荤粺涓紝寮鍚痠pv6鏈嶅姟鍣紝瀹㈡埛绔繛鎺ヨipv6瀵瑰簲鐨刬pv4鏄繛鎺ヤ笉涓婄殑銆 +鍦╨inux绯荤粺涓紝寮鍚痠pv6鏈嶅姟鍣紝瀹㈡埛绔彲杩炴帴ipv4浠ュ強瀵瑰簲IPV6閮藉彲浠ヨ繛鎺ヤ笂銆 + diff --git a/engine2.0/engine2.0/TestDemo/main.c b/engine2.0/engine2.0/TestDemo/main.c index 55d42a7538380caa2dad4d3608078f818a4fda81..a429d8829db1d5cc839492850d33e3dbd8f384a8 100644 --- a/engine2.0/engine2.0/TestDemo/main.c +++ b/engine2.0/engine2.0/TestDemo/main.c @@ -8,8 +8,11 @@ void main() int a = 0; char b = '0'; - printf("a=%02X\n", a); - printf("b=%02X\n", b); + //printf("a=%02X\n", a); + //printf("b=%02X\n", b); + char* p = NULL; + p = "1"; + printf("%s \n", p); system("pause"); } \ No newline at end of file diff --git a/engine2.0/engine2.0/engine2.0.sdf b/engine2.0/engine2.0/engine2.0.sdf index 192b7430417f97892e7ad8b06acccbb4f2c92076..1956c3f3846926c1a8dbf2a42a09dadf8b6d9d82 100644 Binary files a/engine2.0/engine2.0/engine2.0.sdf and b/engine2.0/engine2.0/engine2.0.sdf differ diff --git a/engine2.0/engine2.0/engine2.0.v12.suo b/engine2.0/engine2.0/engine2.0.v12.suo index ae0f2cdc9721b5a4a15c4da8d38f9ed6ace19f06..361279fe1eadcf059696bdcd00addb8e1d075bb0 100644 Binary files a/engine2.0/engine2.0/engine2.0.v12.suo and b/engine2.0/engine2.0/engine2.0.v12.suo differ