【问题标题】:how would i have more than one separate NetworkStream on the same port?我如何在同一个端口上拥有多个单独的 NetworkStream?
【发布时间】:2012-02-18 01:54:29
【问题描述】:

我正在制作一个服务器-客户端应用程序..

  • 聊天
  • 发送命令
  • 文件传输

    我想知道是否可以只为所有这些端口使用一个端口,而不是为它们的每个端口使用 (bind,listen,accept) .. 因为在我的应用程序中.. 我只想连接一次.. 和连接 3 次似乎很荒谬.. 如果我想在同一个端口上连接(聊天、命令、文件传输),我怎么能有一个超过单独的 NetworkStream .. 如果它不可能.. 什么是最好的结构要做到这一点
    我对所有这些都使用 tcp 协议.. 希望我解决了我的问题.. 在此先感谢 :)

  • 【问题讨论】:

    • 你可以在该端口上传递任何你想要的东西。您可以使用一个通用标头封装您的消息,该标头会告诉您要遵循的数据是消息、命令还是文件传输。将消息分成单独的流只会更容易解码消息是什么。

    标签: c# tcp port networkstream


    【解决方案1】:

    有可能,您不需要单独的 NetworkDtream,但您需要区分不同的资源类型,这意味着您只需在 ONE NetworkStream 中发送这 3 种类型的资源,您可以定义一些标志来区分它们并制作不同的继续。

    尽管如此,我认为您应该有一个额外的端口来传输文件,命令和聊天很短,而文件数据却很大

    【讨论】:

    • 是的..我在做什么..但我仍然需要连接两次..一次用于文件传输,一次用于聊天/命令..当我连接到端口时(聊天/命令)..我发送命令来触发另一个连接以进行文件传输并且它有效..我只是想知道是否有一种简单的方法而不是这样做..
    猜你喜欢
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    • 2022-06-29
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多