社区
C#
帖子详情
socket networkstream
printfabcd
2010-01-29 04:23:40
我有一点不太明百,就是networkstream这个类有什么用??,通过socket建立这个类后,好像还是要先将要发送的信息,转化成byte数组,这和直接用socket有区别吗?还有就是,如果要发送图片的话要怎么写呢?直接通过文件流读取到字节数组,然后调用send方法发送出去可以吗?,如何标识文件发送完成呢?请教大家一些O(∩_∩)O~
...全文
215
11
打赏
收藏
socket networkstream
我有一点不太明百,就是networkstream这个类有什么用??,通过socket建立这个类后,好像还是要先将要发送的信息,转化成byte数组,这和直接用socket有区别吗?还有就是,如果要发送图片的话要怎么写呢?直接通过文件流读取到字节数组,然后调用send方法发送出去可以吗?,如何标识文件发送完成呢?请教大家一些O(∩_∩)O~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
以专业开发人员为伍
2010-01-30
打赏
举报
回复
除了作为Stream从而正好可以用于我针对通用Stream的异步编程框架中,对于TcpListener的自定义类型设计来说,我还经常用到NetStream的DataAvailable属性来控制判断接收是否完成,这正好回答了你的问题。
以专业开发人员为伍
2010-01-30
打赏
举报
回复
[Quote=引用 5 楼 vrhero 的回复:]
根本不是一个层次的东西有什么好比较的?CLR还提供TcpClient、FtpClient等一堆Socket的封装,照你们这意思都有啥用?直接Socket编程就完了嘛...
NetworkStream类是为Socket提供Stream访问模式,从而有能力提供一个统一的访问模式...这个问题不能从纯技术角度去思考...在适当的场景中,以软件工程的角度去看这是为编程者提供了一个方便实用的接口...
[/Quote]
是的。可以说,至少现在,NetworkStream主要是为了完成TcpClient和TcpListenner,即更好地封装,从而更好地复用于针对Stream的各种框架中。
vrhero
2010-01-30
打赏
举报
回复
根本不是一个层次的东西有什么好比较的?CLR还提供TcpClient、FtpClient等一堆Socket的封装,照你们这意思都有啥用?直接Socket编程就完了嘛...
NetworkStream类是为Socket提供Stream访问模式,从而有能力提供一个统一的访问模式...这个问题不能从纯技术角度去思考...在适当的场景中,以软件工程的角度去看这是为编程者提供了一个方便实用的接口...
aierda
2010-01-30
打赏
举报
回复
其实功能是一样的,networkstream用read来接收数据,write来发送数据;而socket是用receive来接收数据,send来发送数据。在发送文件的时候,最好先把文件长度,文件名发过去,然后再进行文件的发送。
ubosm
2010-01-30
打赏
举报
回复
其实都是0101 没啥好纠结的 哪个好用 用哪个
大黄鸭在发光
2010-01-30
打赏
举报
回复
这两个用哪个都行,只不过networkstream不支持对网络数据流的随机访问,比如不支持length属性的访问。我觉得只有这一个区别。
printfabcd
2010-01-30
打赏
举报
回复
[Quote=引用 5 楼 vrhero 的回复:]
根本不是一个层次的东西有什么好比较的?CLR还提供TcpClient、FtpClient等一堆Socket的封装,照你们这意思都有啥用?直接Socket编程就完了嘛...
NetworkStream类是为Socket提供Stream访问模式,从而有能力提供一个统一的访问模式...这个问题不能从纯技术角度去思考...在适当的场景中,以软件工程的角度去看这是为编程者提供了一个方便实用的接口...
[/Quote]
学习了O(∩_∩)O~
老Key
2010-01-30
打赏
举报
回复
[Quote=引用 8 楼 sp1234 的回复:]
除了作为Stream从而正好可以用于我针对通用Stream的异步编程框架中,对于TcpListener的自定义类型设计来说,我还经常用到NetStream的DataAvailable属性来控制判断接收是否完成,这正好回答了你的问题。
[/Quote]恩恩。。。。
printfabcd
2010-01-29
打赏
举报
回复
[Quote=引用 1 楼 wangyue4 的回复:]
效果一样,载体都是byte[]数组,networkstream发送是write(),socket发送是send()。
图片就用socket就行,但编码推荐用base64编码成byte[].至于发送完成的判断你就先发个长度过去就行啊。
接收方受到数据达到长度就完
[/Quote]
那networkstream有什么用?,传图片,为什么不用networkstream
大黄鸭在发光
2010-01-29
打赏
举报
回复
效果一样,载体都是byte[]数组,networkstream发送是write(),socket发送是send()。
图片就用socket就行,但编码推荐用base64编码成byte[].至于发送完成的判断你就先发个长度过去就行啊。
接收方受到数据达到长度就完
C#Super
Socket
服务端与客户端通信实例
socket
服务端采用Super
Socket
搭建,客户端与服务端进行连接及向服务端发送消息,服务端使用业务向客户端发送消息进行通信
C#
Socket
通信稳定完整版类库实例
一款C#开发的稳定完整版的
Socket
通信应用实例
C#
Socket
入门学习!
Socket
入门学习!
Socket
入门学习!
C# 网络编程基础.....
Socket
篇C# 网络编程基础.....
Socket
篇C# 网络编程基础.....
Socket
篇C# 网络编程基础.....
Socket
篇
利用C#
Socket
实现HTTP WEB服务器
利用C#
Socket
实现HTTP WEB服务器 VS2008 + WINDOWS7 调试测试通过
C# Winform实现
Socket
通信,包含C/S
Socket
通信的服务器端与客户端代码,用C# winform实现
C#
111,120
社区成员
642,545
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章