私は現在、2人のユーザーがwinsockライブラリを使用して相互に通信できるUDPアプリケーションに取り組んでいます。現在、私のプログラムを実行すると、最初にsockaddressがベクターに保存され、次にユーザーがメッセージを送信すると、そのアドレスがベクターの最初のアドレスと比較されます。デバッグして比較する値を比較すると、それらはまったく同じですが、ifステートメントがelseになります(アドレスが互いに等しくないと考えられます)
これは私が持っているコードです:
#include <WinSock2.h>
sockaddr clientAddress;
recvfrom( hSocket, msg, MAXLINE, 0, &clientAddress, &cbClientAddress );
myVector.pushback(clientAddress);
if (&clientAddresses[0] == &clientAddress)
{
//is the same address
}
else
{
//not the same address
}
.sa_data
私はまた、後clientAddress[0]
とを使用してより具体的にしようとしました&clientAddress.
ありがとう