Socket编程和ServerSocket控件的连接有关问题
发布时间:2011-06-28 14:04:41 文章来源:www.iduyao.cn 采编人员:星星草
Socket编程和ServerSocket控件的连接问题
Socket编程和ServerSocket控件的连接问题
客户端是vc做的socket,服务端是用cb的ServerSocket做的,传输模式是客户端用Stream来发送数据流,客户端用char型的Buffer来接受。
为什么传输过程中客户端经常出现10053,10061,10054的错误,在服务端检测到错误的时候我会把服务端重新监听。有时候客户端在没有断开服务端的情况下连续两次重连服务端后,服务端收到的数据是非法的,导致服务端软件没有响应。
请问高手这是什么原因?
------解决方案--------------------
“有时候客户端在没有断开服务端的情况下连续两次重连服务端后,”
连上了就不要再连接了
可以每次要发数据的时候连接 发完了就自动断开
不要一直连着 也不要 重复连接
------解决方案--------------------
对于收到非法数据,可能是处理不当,可以把收发的代码贴上来,必要的话,最好把协议也贴出来.个人估计应该是协议处理不当.
当服务端不管如何检测到相关的错误,都不应该重启监听,这是不合理的,重启监听还可能会影响现有正常的通讯连接.
------解决方案--------------------
------解决方案--------------------
服务器里程序里需要加些数据识别方面的代码。不是合法的数据直接丢掉,然后直接断掉连接。
外来连接是不可控的,外来的连接并非只有合法的客户端。随便什么程序只要知道端口知道IP都有可能去连接你的服务器,是数据都去处理程序不出错才怪。服务器这方面的安全工作应该加强。
至于重新监听那是没什么必要的,就算起作用也是出错后的弥补措施。把精力都花在如何去弥补错误,不如去避免错误。还是通讯协议,数据处理方面做的健壮些为上上策。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
C#项目中如何更改项目保存的文件夹名?
求解。。
------解决方案--------------------
好像需要重构吧,同样求高人解答。
------...
-
C#中让TextBox只能输入数字的问题
我用的如下的代码:
static private Regex r = new Regex("^[0-9]{1,}$ ");
...
-
带数据库的程序打包注意什么?
打的包出错:Error:System.InvalidOperationException: ExecuteReader 要求已打开且可用的连接。连接的...
-
想学习一下网络程序开发 请给推荐几本书
学习基于http协议的程序开发 比如获取网页 分析网页 模拟网页操作 下载上传文档等知识 ...
-
qq的安装包是用什么工具?
想用.net制作一个想qq一样比较漂亮的安装包。有例子最好
------解决方案--------------------
新建->安...
-
C# 写的windows服务 调用 C++ dll 的问题
我封装了一个dll
用一个普通的winform程序 调用的时候没 问题。
但是放在C#写的服务程...
-
在VS2005中怎么调出 解决方案 那个图标?(图示)求解释~~~
这是我用的VS
这是我在教学视频上看到的VS
------解决方案------------...
-
寻友
有人在自学c#编程吗,可以互相认识一下,以后共同探讨学习中的问题……
------解决方案--------------------
朋友多了,路好走~
...
-
急!急!急!C#代码
怎样将数据库中的数据动态加载到Treeview控件中
------解决方案--------------------
C# code
void CreateTree(T...
-
救急??????????????????
哪位高手帮我一下,在C#中怎么写关于鼠标和键盘监听事件,我的程序就差监听鼠标和键盘是否动,然后定时关机这个功能了,请高手指点,...