我正在创建一个服务器,它将在大多数/所有情况下与客户端在同一台机器上运行。客户端需要能够从该服务器发送和接收消息。某些收到的消息将不是问题的答案(例如 http 请求)。所有消息都将包含一个字符串,然后项目使用该字符串来确定需要运行的函数。
问题是“我是否需要连接两个端口:一个用于发送,一个用于接收?” 如果我将 tcplistener 与 C# 和 C++ POSIX 一起用于网络,我可以在同一个端口上发送和接收消息吗?
是的。您可以在同一个端口上发送和接收,这是与 tcp 通信的预期方式。
编辑
你有两个演员,一个主持人和一个客户。
主机...将打开一个本地网络端口(您指定)并侦听来自客户端的新连接和通信。
客户端......可以(并且可能应该)选择它自己的本地端口并连接到您指定的端口上的主机。
主机和客户端...都可以通过已建立的连接进行通信。只要客户端在监听,主机就可以向客户端发送数据。
让服务器绑定并监听一个众所周知的端口。让客户端绑定到任何端口(您可以让绑定为您选择)并在其端口上连接到服务器。交换消息。
是的,tcp / ip之间没有区别。