0

サーバーに接続し、結果をxmlまたはjsonとして返すWebサービスがあります。それはasp.netで書かれています。私はphpで同じものを使いたいです。

using (TcpClient tcpClient = new TcpClient()) 
    { 
        tcpClient.Connect("1.1.1.1", port: 42011);
        string search = "search^10|5|2|1^gagl^55592a782ce899d2" + 
System.Environment.NewLine; 
        using (NetworkStream ns = tcpClient.GetStream()) 
        { 
            byte[] bytes = ASCIIEncoding.ASCII.GetBytes(search); 
            ns.Write(bytes, 0, bytes.Length); 
            string result = ReadBuffer(ns); 

          // [.. consume result XML string ..] 

        } 
        tcpClient.Close(); 
    }
        }
protected string ReadBuffer(NetworkStream ns) 
{ 
    byte[] lenghtBuffer = new byte[4]; 
    int bytesRead = 0; 
    while (bytesRead < 4) 
        bytesRead += ns.Read(lenghtBuffer, bytesRead, 4 - bytesRead); 
    if (BitConverter.IsLittleEndian) 
        Array.Reverse(lenghtBuffer); 
    int responseLength = BitConverter.ToInt32(lenghtBuffer, 0); 
    byte[] buffer = new byte[responseLength]; 
    bytesRead = 0; 
    while (bytesRead < responseLength) 
        bytesRead += ns.Read(buffer, bytesRead, responseLength - bytesRead); 
    string result = ASCIIEncoding.ASCII.GetString(buffer, 0, bytesRead); 
    return result; 
} 

上記のコードは、.net で値を返します。同じ値を使用して php で結果を取得する方法。

4

1 に答える 1

0

fsockopen ( http://php.net/manual/fr/function.fsockopen.php ) を使用して TCP 接続を開き、結果を取得できます。

于 2013-01-31T13:41:01.137 に答える