【发布时间】:2010-08-27 01:26:14
【问题描述】:
在尝试以下操作时,第二个 sockaddr 中的地址发生了变化:
/*Stuff*/
sockaddr add1, add2;
recvfrom(/*socket*/, /*buffer*/, /*count*/, /*flag*/, &add1, /*fromlen*/);
add2 = add1; //The sa_data - part changes O_o...
/*Stuff*/
有人知道为什么吗?...
编辑:1.我将 sockaddr 更改为 sockaddr_storage,它绝对有足够的空间用于 sockaddr_in! 2.我在初始化时将结构设置为零 3. 我为我的副本/作业愿望写了一个副本规则:
memcpy(&AddrTarget, &AddrSource, sizeof(sockaddr_storage));
但这也无济于事!...我绝望了:(...
【问题讨论】:
标签: c++ sockets copy winsock variable-assignment