c#似乎无法让tcp客户端正常工作

时间:2017-12-18 19:04:31

标签: c# .net sockets tcp

我使用mdsn指南作为创建tcp客户端的示例(https://msdn.microsoft.com/en-us/library/system.net.sockets.tcpclient(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2) 但是,我似乎无法找到一种方法让它工作,或者我无法启动它(代码不能在主要或它赢得并不能识别主要作为主要) 我似乎无法想出任何其他方式来运行它(我无法在代码中调用它) 这是我写的(评论是芬兰语,所以请不要介意)

static void Connect(String server, String message) 
    {
        try
        {
        //  Luodaan Tcpclient.
        Int32 port = 1978;
        TcpClient client = new TcpClient(server, port);

            //  Käännä viesti ascii ja sitte tallenna bytenä.
            Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);
            //  Tee client stream kirjottamista varten etc
            NetworkStream stream = client.GetStream();

            //  Lähetä viesti servulle
            stream.Write(data, 0, data.Length);

            Console.WriteLine("Sent: {0}", message);
            //  Saa se Tcpserver.response
            //  Bufferoi se byteiks
            data = new byte[256];

            //  Store vastaus stringinä
            String responseData = String.Empty;
            // lue eka osa siitä vastauksesta
            Int32 bytes = stream.Read(data, 0, data.Length);
            responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
            Console.WriteLine("Received: {0}", responseData);
            //  sulje kaikki
            stream.Close();
            client.Close();

        }
        catch (ArgumentException e)
        {
            Console.WriteLine("ArgumentNullException: {0}", e);
        }
        catch (SocketException e)
        {
            Console.WriteLine("SocketExeption: {0}", e);
        }
        Console.WriteLine(server);
        Console.WriteLine("\nPress enter to continue...");
        Console.Read();
    }

我得到的错误是:"程序不包含静态' Main'适合入口点的方法"

请帮助我,我真的很绝望

2 个答案:

答案 0 :(得分:1)

假设您正在对控制台应用程序进行编程,请确保您的项目在属性中具有以下设置 - >应用程序:

enter image description here

然后,假设您有一个Program类,请确保您有一个有效的static Main()方法。通过这种方法,您可以调用其余的方法。

示例:

class Program
{
    static void Main(string[] args)
    {
        Connect("my.server.test", "Hellow TCP World!");
    }

    static void Connect(String server, String message)
    {
        //ommited for brevity
    }
}

答案 1 :(得分:0)

我想通了,而不是使用指南告诉我的内容我只使用了主要内容并添加了两个字符串,而不是让它们处于最顶层(不知道真实姓名)