解决方案 »
- 我也问一个C#里“重置”按钮代码的问题
- c#怎么获取桌面右下角坐标
- 问题 急!!!
- 一个简单的存储过程的问题
- 把一个Dataset里的多个DataTable导出到EXCEL里的多个Sheet里,并下载
- 如何使两个Access文件里的两个表同步
- 这样子连接字符串哪里有错,可就是报“服务器不存在或拒绝访问”,郁闷死我了
- 如果使用盗版开发环境开发出了软件并在自己网站上标价试销售,但一套也没有卖出,会按侵犯著作权罚款吗?
- 招聘 .net developer (Shanghai,Fortune 500 compamy)
- GridColumnSyles的Format属性问题!!!
- 大家好,我问个Socket的
- 生成XML字符串问题
比較完善的作法是用個queue收集讀到的資料,再依辨識字元+長度+Checksum等Frame定義檢查
但為何大部分的示範寫法都不這樣作呢? 因為底層的接收工作單純,而且設備速度發送來就不快,
遇到不穩定片段時,頂多加個Sleep()等待就行,
但愈上層的APP工作較複雜,若還是照底層收法,通常會有miss的現象(片段或雜訊bytes)。封定收集+檢查的完善作法,也常常運作在網路socket收取上
這就是有經驗的人寫出來的程式通常就穩定的原因。
否則sender一直送,而receiver因為忙碌超過read_buffer就會miss後來的資料了。總之,愈上層複雜的程式,一定就要考慮到更多的方面
才會穩定。