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

孔雀

我有一个TcpClient对象,可以连接到外部程序。我可以发送一条消息(xml序列化消息)。但是,一旦我关闭网络流,我的TcpClient就会关闭并处理。第二次尝试通过TcpClient发送消息时,出现错误“无法访问已处置的对象Net.Sockets.Socket”。

我是使用TcpClient的新手,但给我的印象是,我将与另一个程序连接一次,然后能够在程序的整个生命周期内来回传递消息,并在关闭程序之前简单地断开TcpClient的连接。

我能够发送多条消息的唯一方法是,如果我新建了TcpClient,然后在发送消息之前再次执行连接。这是发送多封邮件的正确方法,而我和我的经理只是在TcpClient的错误印象下?

我对TcpClient的另一印象是,一旦连接,我将能够从其他程序接收消息。因此,我的程序将坐在那里什么也不做,然后接收到TcpClient消息(某些已定义的xml消息),说明库存已更改。这可能吗,或者我需要设置TcpListener才能使该类型的功能正常工作?



请不要让此示例使您感到困惑,否则请不要让我以不同的方式来传达我的印象。我印象中的一个例子是电话交谈。TcpClient是电话,我通过拨打另一个电话号码进行连接。然后,我将可以连接并且可以来回交谈。在我们其中一位可能再次开始对话之前,可能需要等待几分钟。然后在工作日结束时挂断电话。

但是在与TcpClient合作一段时间后,我感到这是对讲机对话。我通过TcpClient进行连接,这是我按下对讲机按钮的过程。我在说,网络流的关闭是我释放按钮。我可以在对话的另一端听到该人的回音,但再次按下该按钮,它就会改变频率,这是一个全新的对话,需要我重新安装tcpClient。



编辑

所有人都说不关闭信息流是正确的。我一直关闭流的原因是因为接收方软件随后会处理我的消息。但是接收软件也在寻找一条消息,将其包装为ASCII STX和ETX字符。如果我包装了我的消息,则将其一起发送,瞧,他们开始处理消息,而我的流仍处于打开状态。

孔雀

所有人都说不关闭信息流是正确的。

我一直关闭流的原因是因为接收软件随后会处理我的消息。但是,如果接收到的信息使用ASCII“ STX”和“ ETX”字符包装,则接收方软件也会处理我的信息。

我的最终问题是对TcpClient有点无知,而对接收软件的协议则无知。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何添加第二条JSON消息?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

无法提醒第二条提醒消息

来自分类Dev

使用jQuery验证针对两个不同规则验证单个文本框会跳过第二条错误消息

来自分类Dev

使用jQuery验证针对两个不同规则验证单个文本框会跳过第二条错误消息

来自分类Dev

如何选择日期列并使用它来驱动第二条SELECT语句?

来自分类Dev

如何使用meteor.js从集合中查找倒数第二条记录?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何使用css在线的末端和第二条线的基线之间创建指定的距离

来自分类Dev

是否有在bash中重复第二条邻近命令的快捷方式?

来自分类Dev

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

来自分类Dev

第二条SQL语句未执行

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

难以添加第二条路线

来自分类Dev

溶解第二条选择语句

来自分类Dev

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

来自分类Dev

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

来自分类Dev

第二条SQL语句未执行

来自分类Dev

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

来自分类Dev

Java Regex,提取第二条语句

来自分类Dev

Django-如何获取查询集中的倒数第二条记录?

来自分类Dev

变量作为for循环中的第二条语句如何工作?

来自分类Dev

如何在Django的查询集中获取倒数第二条记录?

来自分类Dev

如何从driverid SQL Server获取倒数第二条记录

来自分类Dev

如何以正确的格式沿第二条管道发回数据?

Related 相关文章

  1. 1

    如何添加第二条JSON消息?

  2. 2

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

  3. 3

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

  4. 4

    无法提醒第二条提醒消息

  5. 5

    使用jQuery验证针对两个不同规则验证单个文本框会跳过第二条错误消息

  6. 6

    使用jQuery验证针对两个不同规则验证单个文本框会跳过第二条错误消息

  7. 7

    如何选择日期列并使用它来驱动第二条SELECT语句?

  8. 8

    如何使用meteor.js从集合中查找倒数第二条记录?

  9. 9

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

  10. 10

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

  11. 11

    如何使用css在线的末端和第二条线的基线之间创建指定的距离

  12. 12

    是否有在bash中重复第二条邻近命令的快捷方式?

  13. 13

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

  14. 14

    第二条SQL语句未执行

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

    难以添加第二条路线

  19. 19

    溶解第二条选择语句

  20. 20

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

  21. 21

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

  22. 22

    第二条SQL语句未执行

  23. 23

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

  24. 24

    Java Regex,提取第二条语句

  25. 25

    Django-如何获取查询集中的倒数第二条记录?

  26. 26

    变量作为for循环中的第二条语句如何工作?

  27. 27

    如何在Django的查询集中获取倒数第二条记录?

  28. 28

    如何从driverid SQL Server获取倒数第二条记录

  29. 29

    如何以正确的格式沿第二条管道发回数据?

热门标签

归档