与套接字的双向通信如何工作?

时间:2012-12-10 14:34:24

标签: sockets

我开始使用C#进行套接字编程。我查看了几个打开套接字的示例程序,从套接字获取一个流并使用相同的流来从客户端读取数据并将数据写入客户端。这究竟如何运作?我原以为必须有两个独立的流 - 一个用于服务器读取,另一个用于写入。套接字如何区分服务器要读取的数据和服务器写入的数据?

1 个答案:

答案 0 :(得分:3)

在内部有两个缓冲区 - 您可以读取的传入数据和您编写的传出数据。你耗尽了第一个缓冲区,实现通过从套接字读取来重新填充它。您将数据推送到第二个缓冲区,实现通过写入套接字来消耗它。