C# NetWorkStream对象内容怎么清空?

如题所说的。详细的情况是这样的:我给服务器端第一次发送了:"1234567890";然后我到服务器端打了个断点,测试接收之后的数据是"1234567890",没错,但是,... 如题所说的。

详细的情况是这样的:

我给服务器端第一次发送了:"1234567890";然后我到服务器端打了个断点,测试接收之后的数据是"1234567890",没错,

但是,第两次之后,我发送了"test";后,问题就来了。我看到服务器接收的数据变成了:"test567890";

也就是说,他只是覆盖了我上一次发送的内容。没覆盖到的仍然连起来发送了。

我所想要的结果因该是我发:"test",服务器端就因该接"test",而不要多其它的字符内容。

于是我就想到了怎么清空NetWorkStream对象内容的方法,但是我在

NetWorkStream ns=new NetWorkStream(tcpclient.GetStream());

ns后打上"."点根本没有相关初始化,或是清空该对象内容的方法或属性。

哪位好心的朋友帮帮忙,小弟感激不尽。
我用的是多线程的。

不过我刚刚接触这个网络编程,还不是很了解。

朋友,你可以给我用一个实例,或是用你自己对“同步发收”或“异步发收”的理解说一下吗?

我对这方面不是很了解。在网上查了一些相关的,但是那些人说得太复杂了。
展开
 我来答
四喜工作室
2008-12-08 · TA获得超过133个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:42.2万
展开全部
不会吧?NetWorkStream默认是不会缓存的,除非你没读干净。还有,不知道你是不是多线程来连接和传送的。你可以把你的接收和传输数据的代码贴上来看看。

PS:

NetworkStream 类提供在阻止模式下通过 Stream 套接字发送和接收数据的方法。有关阻止与非阻止 Socket 的更多信息,请参见 使用异步客户端套接字。可以在同步和异步数据传输时使用 NetworkStream 类。有关同步和异步通信的更多信息,请参见 套接字。

若要创建 NetworkStream,必须提供连接的 Socket。也可指定 NetworkStream 对所提供的 Socket 具有哪些 FileAccess 权限。默认情况下,关闭 NetworkStream 并不会关闭所提供的 Socket。如果希望 NetworkStream 具有关闭所提供的 Socket 的权限,必须将 ownsSocket 参数的值指定为 true。

将 Write 和 Read 方法用于简单的单线程同步阻止 I/O。若要使用不同的线程来处理 I/O,则请考虑使用 BeginWrite 和 EndWrite 方法,或 BeginRead 和 EndRead 方法进行通信。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式