社区
工具平台和程序库
帖子详情
问一个socket客户端的问题
ztabwidget
2009-04-27 07:29:49
各位谁知道socket怎么可以清空接收缓冲区?
我传视频流linux客户端,然后一边接受,一边播放。现在客户这边一旦点击停止播放,重新再传其他数据的时候,播放的东西又是之前的前一部视频流的内容。我想这是因为接收缓冲区还有服务器发送的残留数据的原因。
所以想请教,怎样可以清空缓冲区呢?
...全文
85
13
打赏
收藏
问一个socket客户端的问题
各位谁知道socket怎么可以清空接收缓冲区? 我传视频流linux客户端,然后一边接受,一边播放。现在客户这边一旦点击停止播放,重新再传其他数据的时候,播放的东西又是之前的前一部视频流的内容。我想这是因为接收缓冲区还有服务器发送的残留数据的原因。 所以想请教,怎样可以清空缓冲区呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ztabwidget
2009-04-28
打赏
举报
回复
谢谢指点,我对socket缓冲区的具体机制不熟悉,所以想直接刷新。因为键盘输入不是可以刷新缓冲的。
如果不能刷新,多接收一次也行。
datacodebugs
2009-04-28
打赏
举报
回复
貌似你应该清空的是从socket接收后存放由播放器使用的buffer吧,socket的缓存你不用管...
claritytear
2009-04-27
打赏
举报
回复
[Quote=引用 1 楼 hairetz 的回复:]
见人家在图像区问过。
讲讲我的看法:
缓冲区是在底层和接口之间,貌似没有提供刷新缓冲区的。
tcp/ip只是保证数据在C/S两端安全传送哦,你这种问题应该不关协议栈的调用的事,你不需要的数据应该你自己来处理才对。
其实你可以在客户端点击停止播放这个事件时,再额外的recv数据,但是不播就是了撒,这样就相当于清空缓冲区的数据了。也不是很麻烦的事情吧。
[/Quote]
同意这个,收下,扔掉
猫已经找不回了
2009-04-27
打赏
举报
回复
[Quote=引用 6 楼 Loaden 的回复:]
这个真的没研究过。
但如果buf是你自己的,memset不就可以了吗?
[/Quote]
他不是想清空recv的时候用来接受数据的那个buf,因为recv在特定情况会接受到他不需要的数据,他想在底层的套接字缓冲区把数据刷掉。反正我觉得额外多读一次就可以了。
CJJACE
2009-04-27
打赏
举报
回复
好像要用udp吗,不是
出家人专度女施主
2009-04-27
打赏
举报
回复
tcp?
关闭当前,创建新的socket句柄试?
liliangbao
2009-04-27
打赏
举报
回复
帮顶!
老邓
2009-04-27
打赏
举报
回复
这个真的没研究过。
但如果buf是你自己的,memset不就可以了吗?
tangxu12
2009-04-27
打赏
举报
回复
帮顶
mengde007
2009-04-27
打赏
举报
回复
socket貌似不能清空缓冲区;它的数据流能缓冲到数组或文件里面;因此没有必要清空;
如果你想清空,那就清空数组或文件;
kingstarer
2009-04-27
打赏
举报
回复
有没有可能还有部分数据正在传输中?
要我来说最好在播一段新片前有一个开始标志
hust_terry
2009-04-27
打赏
举报
回复
接收缓冲区的大小是知道的,再次播放之前丢掉一些不就行了。
猫已经找不回了
2009-04-27
打赏
举报
回复
见人家在图像区问过。
讲讲我的看法:
缓冲区是在底层和接口之间,貌似没有提供刷新缓冲区的。
tcp/ip只是保证数据在C/S两端安全传送哦,你这种问题应该不关协议栈的调用的事,你不需要的数据应该你自己来处理才对。
其实你可以在客户端点击停止播放这个事件时,再额外的recv数据,但是不播就是了撒,这样就相当于清空缓冲区的数据了。也不是很麻烦的事情吧。
Socket
聊天程序(
一个
服务端,多个
客户端
)
Socket
聊天程序(
一个
服务端,多个
客户端
) 可通过设置IP地址,进行局域网聊天,互联网聊天。。详细配置可以看下我blog的文章。 blog中搜索:
Socket
聊天程序
Android
Socket
编程
客户端
服务器端源码
一个
简单的Android
Socket
编程实例,有简单的
客户端
,服务器端源码。
C#高性能大容量
SOCKET
并发完成端口例子(有C#
客户端
)完整实例源码
例子主要包括
Socket
AsyncEventArgs通讯封装、服务端实现日志查看、SCOKET列表、上传、下载、远程文件流、吞吐量协议,用于测试
Socket
AsyncEventArgs的性能和压力,最大连接数支持65535个长连接,最高命令交互速度...
Socket
Tool(很好用的
socket
测试工具)
Socket
Tool(很好用的
socket
测试工具)
C#
Socket
简单例子(服务器与
客户端
通信)
这是两个很简单的程序(服务端、
客户端
) 达成两端之间的通信例子。
Socket
工具平台和程序库
24,854
社区成员
27,343
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章