0

ソケットを使ってプログラミングするのはこれが初めてです。私は 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;
            }

        }
    }

誰かが私を助けることができれば、私はうれしいです.

4

2 に答える 2