无法通过TCP / IP发送第二条消息

拉杰夫·库玛(Rajeev Kumar)

我正在尝试使用TCPClientTCPListner在c#应用程序中通过TCP / IP发送消息

以下是我从codeproject网站获得的代码。

客户 code written over btn click

try
        {
            TcpClient tcpclnt = new TcpClient();
            Console.WriteLine("Connecting.....");

            tcpclnt.Connect("192.168.0.102", 8001);
            // use the ipaddress as in the server program

            Console.WriteLine("Connected");
            //Console.Write("Enter the string to be transmitted : ");

            String str = textBox1.Text;
            Stream stm = tcpclnt.GetStream();

            ASCIIEncoding asen = new ASCIIEncoding();
            byte[] ba = asen.GetBytes(str);
            Console.WriteLine("Transmitting.....");

            stm.Write(ba, 0, ba.Length);

            byte[] bb = new byte[100];
            int k = stm.Read(bb, 0, 100);

            for (int i = 0; i < k; i++)
                Console.Write(Convert.ToChar(bb[i]));


            tcpclnt.Close();
        }

        catch (Exception ex)
        {
            Console.WriteLine("Error..... " + ex.Message);
        }

服务器 code written on form_load

try
        {
            IPAddress ipAd = IPAddress.Parse("192.168.0.102");
            // use local m/c IP address, and 
            // use the same in the client

            /* Initializes the Listener */
            TcpListener myList = new TcpListener(ipAd, 8001);

            /* Start Listeneting at the specified port */
            myList.Start();

            Console.WriteLine("The server is running at port 8001...");
            Console.WriteLine("The local End point is  :" +
                              myList.LocalEndpoint);
            Console.WriteLine("Waiting for a connection.....");

            Socket s = myList.AcceptSocket();
            Console.WriteLine("Connection accepted from " + s.RemoteEndPoint);

            byte[] b = new byte[100];
            int k = s.Receive(b);
            Console.WriteLine("Recieved...");
            string str = string.Empty;
            for (int i = 0; i < k; i++)
            {
                Console.Write(Convert.ToChar(b[i]));
                str = str + Convert.ToChar(b[i]);

            }
            label1.Text = str;
            ASCIIEncoding asen = new ASCIIEncoding();
            s.Send(asen.GetBytes("The string was recieved by the server."));
            Console.WriteLine("\nSent Acknowledgement");
            /* clean up */
            s.Close();
           // myList.Stop();

        }

在这里client,我发送了写在文本框中的字符串,tcp并被很好地接收了server

但是,当我尝试发送另一个字符串时,它没有任何失败,exception并且客户端应用程序挂起了无限长的时间。

这是怎么了?

相同

服务器应始终处于侦听模式,即服务器代码应处于while循环中,以便它可以连续接受客户端。您的服务器将接受一个客户端,然后自行关闭。因此,如果您单击客户端的按钮,则新的客户端会尝试连接到服务器,但是现在服务器将不可用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法提醒第二条提醒消息

来自分类Dev

PHP Prepared语句无法准备第二条语句

来自分类Dev

我无法在我的.htaccess文件中使用第二条重写规则

来自分类Dev

批处理文件中的第二条命令无法运行

来自分类Dev

我想将第二条消息作为新消息发送给 Actor

来自分类Dev

TcpClient是否使用单个连接?如何发送第二条消息?

来自分类Dev

如何添加第二条JSON消息?

来自分类Dev

Matplotlib:使用twinx()和cla()清除第二条轴后无法重绘第一条轴

来自分类Dev

我有3条记录之间的线性关联。如果第二条记录无法保存,我想避免创建第三条记录。还是我应该删除它?

来自分类Dev

git rebase squash接收第二条消息(如修正)

来自分类Dev

在第二条 SIAlertView 消息和 popViewController 后屏幕锁定

来自分类Dev

Akka演员正在处理第二条消息,然后再处理第一条消息

来自分类Dev

第二条SQL语句未执行

来自分类Dev

获取满足sql查询的第二条记录

来自分类Dev

依赖倒置原则的第二条陈述

来自分类Dev

第二条CASE语句导致查询失败?

来自分类Dev

难以添加第二条路线

来自分类Dev

溶解第二条选择语句

来自分类Dev

根据第二条命令的输出触发事件

来自分类Dev

找不到第二条路线返回页面

来自分类Dev

第二条SQL语句未执行

来自分类Dev

依赖倒置原则的第二条陈述

来自分类Dev

Java Regex,提取第二条语句

来自分类Dev

第二条消息在我的 Akka.Net 演员中变为未处理,然后似乎停止了

来自分类Dev

Akka:第一条消息变成死信,从第二条消息开始一切正常

来自分类Dev

无法通过TCP将Android数据发送到PC

来自分类Dev

为什么第二条语句不起作用?

来自分类Dev

Python MySQL Connector在游标循环内执行第二条sql语句?

来自分类Dev

从存储过程中获取第二条记录集

Related 相关文章

  1. 1

    无法提醒第二条提醒消息

  2. 2

    PHP Prepared语句无法准备第二条语句

  3. 3

    我无法在我的.htaccess文件中使用第二条重写规则

  4. 4

    批处理文件中的第二条命令无法运行

  5. 5

    我想将第二条消息作为新消息发送给 Actor

  6. 6

    TcpClient是否使用单个连接?如何发送第二条消息?

  7. 7

    如何添加第二条JSON消息?

  8. 8

    Matplotlib:使用twinx()和cla()清除第二条轴后无法重绘第一条轴

  9. 9

    我有3条记录之间的线性关联。如果第二条记录无法保存,我想避免创建第三条记录。还是我应该删除它?

  10. 10

    git rebase squash接收第二条消息(如修正)

  11. 11

    在第二条 SIAlertView 消息和 popViewController 后屏幕锁定

  12. 12

    Akka演员正在处理第二条消息,然后再处理第一条消息

  13. 13

    第二条SQL语句未执行

  14. 14

    获取满足sql查询的第二条记录

  15. 15

    依赖倒置原则的第二条陈述

  16. 16

    第二条CASE语句导致查询失败?

  17. 17

    难以添加第二条路线

  18. 18

    溶解第二条选择语句

  19. 19

    根据第二条命令的输出触发事件

  20. 20

    找不到第二条路线返回页面

  21. 21

    第二条SQL语句未执行

  22. 22

    依赖倒置原则的第二条陈述

  23. 23

    Java Regex,提取第二条语句

  24. 24

    第二条消息在我的 Akka.Net 演员中变为未处理,然后似乎停止了

  25. 25

    Akka:第一条消息变成死信,从第二条消息开始一切正常

  26. 26

    无法通过TCP将Android数据发送到PC

  27. 27

    为什么第二条语句不起作用?

  28. 28

    Python MySQL Connector在游标循环内执行第二条sql语句?

  29. 29

    从存储过程中获取第二条记录集

热门标签

归档