C# 如何发送和接收原始JSON?

C# 如何发送和接收原始JSON?,c#,json,C#,Json,我需要一些帮助来确定采取这一行动的方向。我只需要程序在给定的IP和端口向服务器发送一个固定的原始简单JSON格式的消息,然后它需要侦听给定端口上的响应,然后将原始响应写入控制台 我找到了一些关于处理JSON http请求的主题,但我认为我的思路不对。这就是我正在尝试适应的代码 public static void send_json() { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://10.

我需要一些帮助来确定采取这一行动的方向。我只需要程序在给定的IP和端口向服务器发送一个固定的原始简单JSON格式的消息,然后它需要侦听给定端口上的响应,然后将原始响应写入控制台

我找到了一些关于处理JSON http请求的主题,但我认为我的思路不对。这就是我正在尝试适应的代码

public static void send_json()
{
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://10.211.55.5:7752");
    request.ContentType = "application/json; charset=utf-8";
    request.Accept = "application/json";
    request.Method = "POST";
    using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
    {
        writer.Write("{\"request\": \"get_menu\", \"checksum\": \"\", \"table_state\": {\"table_id\": \"1\", \"waiter_id\": \"1001\"}}");
    }

    WebResponse response = request.GetResponse();
    Stream stream = response.GetResponseStream();
    string json = "";

    using (StreamReader reader = new StreamReader(stream))
    {
        while (!reader.EndOfStream)
        {
            json += reader.ReadLine();
        }
        Console.Write(json);
    }
}

下面的代码最终成功了!谢谢你给我指出了正确的方向伙计们

private void pos_test_button_Click(object sender, EventArgs e)
    {
        System.Net.Sockets.TcpClient clientSocket = new System.Net.Sockets.TcpClient();
        clientSocket.Connect("127.0.0.1", 7777);

        string get_menu_request = "{\"request\": \"get_menu\"}";
        NetworkStream serverStream = clientSocket.GetStream();
        byte[] outStream = System.Text.Encoding.ASCII.GetBytes(get_menu_request);
        serverStream.Write(outStream, 0, outStream.Length);
        serverStream.Flush();

        byte[] inStream = new byte[10025];
        serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize);
        string _returndata = System.Text.Encoding.ASCII.GetString(inStream);

        test_log_box.AppendText("\r\n\r\nPOS Connection Test: " + "\r\n" + _returndata);
    } 

发布的代码有什么问题?主题外,但您可以使用read.ReadToEnd,而不是附加到字符串中。您要查找的内容不是100%清楚,但听起来您想查找套接字。它们是HTTP请求的底层技术,HTTP请求的开销要大得多。所以,如果你只想发送和接收JSON,而不想再发送头或任何东西,那么你想做什么,试试看这些。谢谢Matthew,是的,这正是我想要做的。我将研究套接字,并在我有更好的理解后发回。谢谢大家!为了解释这个目标,我有一个服务器,它在某个端口上侦听JSON格式的请求。该请求尤其是查看餐厅菜单的请求。所以我发送菜单请求JSON消息,服务器接收到它,然后将原始JSON格式的菜单发送回我。。。然后我在原始图像中显示它。应该很直截了当。。。只是不适合我哈哈。你想休息吗?它是带有WebHttpBinding的WCF服务吗?