日期:2014-05-20  浏览次数:20754 次

求 思路...
各位大哥,先谢为敬.

客户端开源,需要 搭建 服务端。请问应该如何 设计服务端?
.net web Server?(貌似也不是)

求 思路...

客户端发的请求信息
Request: 

XML code

<?xml version="1.0" encoding="UTF-8"?> 
<o:gupdate xmlns:o="http://www.google.com/update2/request" protocol="2.0" version="1.2.183.7" ismachine="0" 
     machineid="{B421053D-AA39-418A-B6C3-123456789ABC}" userid="{422ED4F2-699D-49E1-9D60-123456789ABC}" 
     requestid="{D7E8D72F-C657-4119-AA48-123456789ABC}"> 
  <o:os platform="win" version="5.1" sp="Service Pack 2"/> 
  <o:app appid="{430FD4D0-B729-4F61-AA34-91526481799D}" version="1.2.183.7" lang="en" brand="GGLS" 
      client="" installage="32" installsource="scheduler"> 
    <o:updatecheck tag="beta"/> 
  </o:app> 
  <o:app appid="{8A69D345-D564-463C-AFF1-A69D9E530F96}" version="2.0.172.37" lang="en" brand="GGLS" 
      client="" installsource="scheduler"> 
    <o:updatecheck/> 
    <o:ping active="1"/> 
  </o:app> 
</o:gupdate> 



服务端回复
Response (positive): 
XML code

<?xml version="1.0" encoding="UTF-8"?> 
<gupdate xmlns="http://www.google.com/update2/response" protocol="2.0"> 
  <daystart elapsed_seconds="59892"/> 
  <app appid="{430FD4D0-B729-4F61-AA34-91526481799D}" status="ok"> 
    <updatecheck status="noupdate"/> 
  </app> 
  <app appid="{8A69D345-D564-463C-AFF1-A69D9E530F96}" status="ok"> 
    <updatecheck Version="2.0.172.37" arguments="--do-not-launch-chrome" 
        codebase="http://cache.pack.google.com/edgedl/chrome/install/172.37/chrome_installer.exe" 
        hash="NT/6ilbSjWgbVqHZ0rT1vTg1coE=" needsadmin="false" onsuccess="exitsilentlyonlaunchcmd" 
        size="9614320" status="ok"/> 
    <ping status="ok"/> 
  </app> 
</gupdate> 



------解决方案--------------------
帮顶一下吧~~~~~~~~~~~~~
------解决方案--------------------
XMPP?

1. 搞懂TCP通信
2. 搞懂高负载的TCP服务器写法,而不是网上常见的那种只能应付服务器长连接1个或者5、6个客户端的写法。
------解决方案--------------------
如果你使用http接入(例如使用asp.net的ashx或者aspx),服务器端回复你那种xml是没有问题的。问题是客户端请求必须包括http协议头信息。

所以大概涉及http通信的方法不适合你的服务架构。
------解决方案--------------------
如果你可以为客户端制定协议规范,我建议你将客户端请求信息也提供另外一种形式,就是将你的消息体放到http post协议的消息体中。

服务器可以同时监听tcp协议和http协议的消息。这样,使用javasript等脚本语言的程序也可以轻松访问服务器。
------解决方案--------------------
mark

------解决方案--------------------
帮忙顶