芯友网xin1234.com

socket程序  可以搜索客户端所有的图片上传  我发现服务端 收到数据后   所有图片



life
大家好 问个问题 我做了一个 socket程序  可以搜索客户端所有的图片上传  我发现服务端 收到数据后   所有图片前面都会有个$ 字   要等一下   图片才会解析出来  可是我的socket已经断了  是linux系统反应不过来吗?
阿标
socket处理的是码流,跟图片显示有啥关系。
life
丢包率好高 唉
我用的是二进制流  linux接收 然后写入文件
阿标
@life 那是你后边图片处理程序的事情,跟socket已经没关系了。
life
就是啊  我以后tcp 丢包率 会低一点  如果程序不加sleep  接收端 没接几个数据就丢包
阿标
@life 那是程序同步没做好。
life
是啊 经验不好 我以后send和recv 会互等的   现在才知道程序要同步  不然收的一堆垃圾数据
这些东西,有更好的HTTP解决方案
为啥非要写socket呢
当年我年少无知,非得用socket自己写通信,现在想想,真是打脸
life
不熟悉协议
我已经屈服于线程的一些东西了。。。。
现成的
例如,现在基本都是用HTTP或者HTTPS进行传输数据
life
函数库?
很多语言不都自带HTTP相关库么
直接调用揪心管理
就行了
life
我找找 
而且工作量会减轻很多
life
不然这个 真的是要疯了  
阿标
@华 是的,socket比较低层了。没必要自己做封包。
嗯,不过socket有时候也是有用的,比如不规则的HTTP 或者HTTPS ,需要用socket来封装一下,不过工作量不大
我目前只接触过同步socket,异步的没搞过,这个东西不是一天半天就能搞顺溜的,说不定啥时候就报个错误,软件就当掉了
阿标
同步异步没啥区别,同步需要自己做线程,异步给你封好了线程。
嗯,我就是因为自己开线程关线程,时间久了,线程队列总有一些无法释放的socket对象
而且软件每个月都得重启,后来就放弃了
阿标
代码有问题,哪里没回收。另外要有线程池的概念,每个线程要牢牢控制在自己手里。
别new一个就扔一边不管了。
当时没用线程池,我直接存储到一个队列里边,并且对创建的线程进行了复用。后来又优化了不少,还是无法解决。
末待
socket建立之后通信的内容没有log记录吗?

相关问题
php程序员 刚出来找工作的工资大概是多少啊?】 看运气  不过一旦来说 房租+吃饭 刚好够;成都吗2000多吗;
.net程序需要加密吗?只能混淆 無法加密】 加密?;防止破解?;只能混淆 無法加密
我程序里面有个循环需要一直执行操作,但是太快会有问题,太慢数据处理不完,我想着每处理一条数据就 】 usleep(500);@茴香豆 感谢!;
64位的程序休想在32位的机器上跑寄存器和系统总线没那么宽】 寄存器和系统总线是啥啊?;有事找百度数据  控制  地址;
------分隔线----------------------------
赞助商链接
赞助商链接
推荐内容