编译程序时出错

时间:2014-09-16 17:19:44

标签: c# client

我制作了一个客户端服务器但不幸的是我收到了这个错误

你可以告诉我如何解决它吗?

类client.cs中发生错误... 它写得对吗?

我打开命令提示符并写了" ipconfig"和IPv4的数量是" 192.168.1.104"

Client.cs

 try
        {
            TcpClient tcp = new TcpClient();
            Console.WriteLine("Conectare...");

            tcp.Connect("192.168.1.104", 8001);
            Console.WriteLine("Conectat");
            Console.WriteLine("Introduce-ti sirul de caractere");
            string str = Console.ReadLine();
            Stream strm = tcp.GetStream();

            ASCIIEncoding asci = new ASCIIEncoding();
            byte[] ba = asci.GetBytes(str);
            Console.WriteLine("Trimitere");
            strm.Write(ba, 0, ba.Length);

            byte[] bb = new byte[100];
            int b = strm.Read(bb, 0, 100);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Eroare..."+ex.StackTrace);

        }

Server.cs

 try
        {
            IPAddress IPadress = IPAddress.Parse("192.168.1.104");
            TcpListener listner = new TcpListener(IPadress, 8001);
            Console.WriteLine("Serverul ruleaza");
            Console.WriteLine("Punctul final este: " + listner.LocalEndpoint);
            listner.Start();
            Socket o = listner.AcceptSocket();
            Console.WriteLine("Conexiunea acceptata de la " + o.RemoteEndPoint);
            byte[] b = new byte[100];
            int k = o.Receive(b);
            Console.WriteLine("Receptionat");
            for (int i = 0; i < k; i++)
            {
                Console.WriteLine(Convert.ToChar(b[1]));
            }
            ASCIIEncoding asc = new ASCIIEncoding();
            o.Send(asc.GetBytes("Mesaj automat" + "String trimis de server"));
            o.Close();
            listner.Stop();
        }
        catch (Exception ex)
        {

            Console.WriteLine("Measj de eroare" + ex.StackTrace);
        }
        Console.ReadLine();

http://i62.tinypic.com/2zj9uop.jpg

2 个答案:

答案 0 :(得分:2)

转到www.google.com并输入“我的IP是什么”,您将看到的第一个结果将是您的真实IP。现在,为了能够从外部应用程序连接到该IP,您必须从路由器网站页面将“自己的IP”允许加入白名单。这个http://www.theninjaproxy.org/wp-content/uploads/2013/07/netgearWNDR4500.jpg的相似页面。如果你想从你的朋友计算机上打开那个有另一个IP的应用程序,请说'11 .11.11.11',你也需要添加它,否则他将无法打开你的c#应用程序。

编辑:在尝试从c#应用程序连接到mysql数据库的情况相同,你必须转到你的cpanel并允许使用该c#应用程序的计算机的IP。但对你来说,你只需要去你的路由器网页。

答案 1 :(得分:1)

服务器需要在循环中侦听以接受客户端连接。 Example code