我做了一个socket服务器段(windows应用程序),然后做了一个socket客户端,如果使用winform来做,响应速度非常快,只要服务器段启动,用不了几秒,但是如果做成windows控件库,在ie里面浏览的时候,速度非常慢,注意:不是连不上,而是时间太长,需要1分钟以上.为什么会这样?有没有好的解决办法?
解决方案 »
- C# post登陆
- C#如何从一个字符串中分离出邮件地址。看例子:
- 如何使用c#通过http协议下载文件时,只获取文件大小,而不下载文件?
- 如何在一个导出的文件中,再追加导入其他的文件
- C#用正则表达式提取这个网页http://arxiv.org/list/astro-ph/new 里面文章的编号、标题、作者、内容 保存在数组中
- 后台传递DataTable到页面,怎么操作呢?
- 求助:C#中特殊字符的处理
- DataGrid用如下方法绑定后分页发生错误
- 这俩个问题实在解决不了了,大虾帮帮忙!!!!!!
- 一个字符数组的问题!!!
- winform下文件(word,excel,ppt,txt)存入数据库后怎样显示
- 关于动态库的问题,谢谢各位了 ,谢谢!
据俺在CSDN回答socket问题的经验... :-)
一般都是和DNS解析有关,比如Dns.Resolve("10.1.2.3")这样的代码,嗯
尽量使用IPAddress.Parse("ip string"
这个地方可能是有关的,因为我的socket客户端做成了一个windows控件库,在winform下调用和web页面调用所用时间是不一样的,另外我解析的地方,
服务段如下:
IPAddress ServerIp=this.GetServerIP();//这是一个函数得到主机ip地址
IPEndPoint iep=new IPEndPoint(ServerIp,_port);
this._sc=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
byte[] ReceiveMessage=new byte[100];
this._sc.Bind(iep);
客户端如下:
string ip="10.140.102.119";
string port="8888";
IPAddress serverIp=IPAddress.Parse(ip);
int serverPort=Convert.ToInt32(port);
IPEndPoint iep=new IPEndPoint(serverIp,serverPort);
byte[] SendMessage;
Socket sendsocket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
sendsocket.Connect(iep);
应该说是没有问题的,如果你不介意,我可以贴的更详细一些
这里的代码看上去没什么问题
你可以执行单步调试,看看是哪一行等待时间最长