none
VS2012にてTCP/IP通信 RRS feed

  • 質問

  • VS2012  VB  windows8.1

    TCP/IP通信において

    コマンドプロンプトを立ち上げて

    telnet 192.168.254.254  9999

    と入力し、ある電化製品に接続し、

    ”K”という英字を入力すると生データ(英数字)が返ってきます。この

    返ってくる英数字をVS2012の下記に示すコードによってtextbox2へ代入しようとしていますが上手くいきません。下記のコードをどのように変えればコマンドプロンプトみたいなことができるのでしょうか?

     Dim port As Int32 = 9999
            Dim client As New TcpClient("192.168.254.254", port)

            ' Translate the passed message into ASCII and store it as a Byte array.
            Dim data As [Byte]() = System.Text.Encoding.ASCII.GetBytes("K")

            ' Get a client stream for reading and writing.
            '  Stream stream = client.GetStream();
            Dim stream As NetworkStream = client.GetStream()

            ' Send the message to the connected TcpServer.
            stream.Write(data, 0, data.Length)

            Console.WriteLine("Sent: {0}", "K")

            ' Receive the TcpServer.response.
            ' Buffer to store the response bytes.
            data = New [Byte](256) {}

            ' String to store the response ASCII representation.
            Dim responseData As [String] = [String].Empty

            ' Read the first batch of the TcpServer response bytes.
            Dim bytes As Int32 = stream.Read(data, 0, data.Length)
            responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes)
            Console.WriteLine("Received: {0}", responseData)

            TextBox2.Text = responseData


            ' Close everything.
            stream.Close()
            client.Close()



            Console.WriteLine(ControlChars.Cr + " Press Enter to continue...")
            Console.Read()

    2014年7月29日 19:56

回答

すべての返信