问题描述
publicstaticbyte[]ReceiveBodyData(Socketsocket){List<byte>list=newList<byte>();intnowContentLength=0;while(true){byte[]buffer=newbyte[BUFFER_SIZE];intreceiveCount=socket.Receive(buffer,BUFFER_SIZE,SocketFlags.None);if(receiveCount>0){for(inti=0;i<receiveCount;i++){list.Add(buffer[i]);}nowContentLength+=receiveCount;}if(receiveCount==0){break;}}returnlist.ToArray();}
上面是使用同步方式接收网页数据效率非常慢看到网上说异步性能比较高,但是网上例子基本千篇一律晦涩难懂来这里请教大家
解决方案
解决方案二:
能帮我把上面的例子更改为异步的么?
解决方案三:
解决方案四:
你这是在网页里面用TCP通信,谁跟谁通信的?
解决方案五:
网页???tcp?????
解决方案六:
引用4楼diaodiaop的回复:
网页???tcp?????
大神,那要是网页里面实现socket通信,都必须跟网页写个webservice吗,我现在就是在网页用的udp通信,就是有个问题,网页每次发送消息,就会占用一个udp端口,而相应的进程所占用的内存就会增加。确实网页直接用socket通信,问题很大。最近没时间看webservice,等看了再向你请教下
解决方案七:
引用5楼yalunwang123的回复:
Quote: 引用4楼diaodiaop的回复:
网页???tcp?????大神,那要是网页里面实现socket通信,都必须跟网页写个webservice吗,我现在就是在网页用的udp通信,就是有个问题,网页每次发送消息,就会占用一个udp端口,而相应的进程所占用的内存就会增加。确实网页直接用socket通信,问题很大。最近没时间看webservice,等看了再向你请教下
用WEBSOCKET试试。
解决方案八:
我不管你是tcp还是udp..首先来说你一定有一个服务器比如IP=A而且一般情况下你这个网站也是扔在了A上面..那么你socket都是本地玩本地啊..就算你用客户端的浏览器浏览实际上还是A连接A而已..虽然这个A连接A在某个特定功能的需求上是可以这样.不过显然你一定以为你是客户端连接服务端是吧.网页就是网页.跟CS是完全不同的2个东西..别总把玩CS那一套扔到BS上面..而且这个东西跟webservice没什么关系..你是不是NBA的小号?
解决方案九:
引用7楼diaodiaop的回复:
我不管你是tcp还是udp..首先来说你一定有一个服务器比如IP=A而且一般情况下你这个网站也是扔在了A上面..那么你socket都是本地玩本地啊..就算你用客户端的浏览器浏览实际上还是A连接A而已..虽然这个A连接A在某个特定功能的需求上是可以这样.不过显然你一定以为你是客户端连接服务端是吧.网页就是网页.跟CS是完全不同的2个东西..别总把玩CS那一套扔到BS上面..而且这个东西跟webservice没什么关系..你是不是NBA的小号?
是的,我两个账号,你之前不是说用webservice,那网页里面怎么实现点一个按钮就可以发出一个UDP通信的数据,
解决方案十:
LZ申请这么多小号问这么多问题也是蛮拼的了..不过你首先你要清楚你要做什么...要实现什么...(从物理的角度来讲)比如你就说"我要实现任何人浏览网页都能控制我(某)电脑串口的LED灯的开关"或者说"我要实现网页实时查询我(某)电脑串口LED灯的开关状态".至于上面的2个问题我只是随便说的不不知道你是不是玩的Arduino你连自己要实现什么都不知道..就开始问各种socket各种协议各种解析各种问题...难道你认为你可以很完美的把这些问题的解决方案贯穿一起吗?很明显youcannot....甚至你根本连控制或者是查询整套流程你都不知道如何实现...不从根本入手,.半路杀出来一个问题..那么下一段路还是有问题..所以最终你1个月甚至更多的时间只是在浪费问"技术"问题..到头来你会发现你还是个零蛋.还是不明白最多就了解了一点关于tcp或者udp简单收发的的知识所以我给LZ一点忠告..看下我给你回复的内容(NBA的帖子带图的)仔细看文字看图形并且自己拿个A4+2B画下来..对你将要开发的东西是有好处的...
解决方案十一:
嘿嘿,这个帖子不是我发的,我已经加过你的QQ了,有空再向你探讨吧。感谢你的耐心回答
解决方案十二:
引用9楼diaodiaop的回复:
LZ申请这么多小号问这么多问题也是蛮拼的了..不过你首先你要清楚你要做什么...要实现什么...(从物理的角度来讲)比如你就说"我要实现任何人浏览网页都能控制我(某)电脑串口的LED灯的开关"或者说"我要实现网页实时查询我(某)电脑串口LED灯的开关状态".至于上面的2个问题我只是随便说的不不知道你是不是玩的Arduino你连自己要实现什么都不知道..就开始问各种socket各种协议各种解析各种问题...难道你认为你可以很完美的把这些问题的解决方案贯穿一起吗?很明显youcannot....甚至你根本连控制或者是查询整套流程你都不知道如何实现...不从根本入手,.半路杀出来一个问题..那么下一段路还是有问题..所以最终你1个月甚至更多的时间只是在浪费问"技术"问题..到头来你会发现你还是个零蛋.还是不明白最多就了解了一点关于tcp或者udp简单收发的的知识所以我给LZ一点忠告..看下我给你回复的内容(NBA的帖子带图的)仔细看文字看图形并且自己拿个A4+2B画下来..对你将要开发的东西是有好处的...
嘿嘿,这个帖子不是我发的,我已经加过你的QQ了,有空再向你探讨吧。感谢你的耐心回答
解决方案十三:
引用9楼diaodiaop的回复:
LZ申请这么多小号问这么多问题也是蛮拼的了..不过你首先你要清楚你要做什么...要实现什么...(从物理的角度来讲)比如你就说"我要实现任何人浏览网页都能控制我(某)电脑串口的LED灯的开关"或者说"我要实现网页实时查询我(某)电脑串口LED灯的开关状态".至于上面的2个问题我只是随便说的不不知道你是不是玩的Arduino你连自己要实现什么都不知道..就开始问各种socket各种协议各种解析各种问题...难道你认为你可以很完美的把这些问题的解决方案贯穿一起吗?很明显youcannot....甚至你根本连控制或者是查询整套流程你都不知道如何实现...不从根本入手,.半路杀出来一个问题..那么下一段路还是有问题..所以最终你1个月甚至更多的时间只是在浪费问"技术"问题..到头来你会发现你还是个零蛋.还是不明白最多就了解了一点关于tcp或者udp简单收发的的知识所以我给LZ一点忠告..看下我给你回复的内容(NBA的帖子带图的)仔细看文字看图形并且自己拿个A4+2B画下来..对你将要开发的东西是有好处的...
就是你上面说的那两个问题,类似的。不是Arduino