ソケットを使ってプログラミングするのはこれが初めてです。私は C++ MFC を使用しており、TCP/IP アドレスでビデオ サーバー コントローラーと通信するアプリケーションを作成しようとしました。
私はすべての最初のステップをエラーなしで行います。ソケットを作成し、bind()
関数を呼び出してアドレスを関連付けますが、接続しようとすると機能しません。
何か間違っているかどうかわからないので、コードの一部を以下に示します。
struct sockaddr_in my_addr;
int lenAddrs;
b1 = 192;
b2 = 168;
b3 = 11;
b4 = 2;
remoteAddress.Format("%u.%u.%u.%u", b1, b2, b3, b4);
port = (u_short)(portNumber);
// my address
memset(&my_addr, 0, sizeof(my_addr));
my_addr.sin_family = AF_INET;
my_addr.sin_port = htons(port);
lenAddrs = sizeof(my_addr);
// remote address
memset(&remote_addr, 0, sizeof(remote_addr));
remote_addr.sin_family = AF_INET;
remote_addr.sin_port = port;
inet_pton(AF_INET, remoteAddress, (&remote_addr.sin_addr));
// socket
sckSloMo = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sckSloMo == INVALID_SOCKET)
{
AfxMessageBox("sckSloMo is invalid!!");
return;
}
if (sckSloMo != SOCKET_ERROR)
{
ret = bind(sckSloMo, (const sockaddr*) &my_addr, sizeof(my_addr));
if (ret == 0)
{
ret = connect(sckSloMo, (const sockaddr*) &remote_addr, sizeof(remote_addr));
if (ret == 0)
{
AfxMessageBox("connect!");
StartSendingMessages();
}
else
{
AfxMessageBox("connect error!!!");
return;
}
}
}
誰かが私を助けることができれば、私はうれしいです.