首页   |   IT资讯   |   综合资讯   |   开发   |   软件   |   问答   |   网络技术   |   网络综合
更多:
当前位置:首页 » 手机数码
文章正文

在此模式下的c/s网络编程该如何进行?请各位给点意见。

类型:转载   责任编辑:asp   日期:2007/03/01

    

情况如下:c/s模式网络编程,一共有大概30个客户端(可以动态增减)。要求服务器段能够监控客户端的情况,如:是否在网上、运行情况、端口信息等,并能处理客户端的请求,如:上传、下载等并能在上传、下载过程中实现简单的文件加/解密。  
          请各位给点思想。有人说该采用dcom,有必要吗?

推荐阅读

  • Gizmondo掌机签下三款微软游戏 [详细内容]
  • 美议员祝贺中国神六载人飞船发射成功 [详细内容]
  • 法新社:“神舟六号”掀开中国航天史的新篇章 [详细内容]
  • 任天堂公布NGC三款超级大作游戏 [详细内容]
  • 多年使用8250对电话本的查找经验 [详细内容]
  • 神舟六号载人飞船发射成功 胡锦涛等表示祝贺 [详细内容]
  • 美国一组织计划开发以教育为主的视频游戏 [详细内容]
  • 网友回答:
    网友:johndotcom

    不必用dcom吧?

    网友:wangjinwang

    创建一个socket用于监听,一有连接请求,用其他socket建立连接,(如果不用csocket,则在线程中处理通讯)。  
      1   socket在阻塞状态下,能自己检测出对方断开;  
      2   运行情况?不知所指  
      3   端中信息通过调用socket函数取得(包括ip)  
      4   在线程中处理客户请求(如果使用csocket并重载onreceive,则在此函数中处理请求--不用线程)  
      5   加密、解密是代码处理的功能

    网友:frank123

    楼上说得对。  
      关于是否断开,我们的实现是这样的,  
      在server存有每个已经登陆的client的一个生命值,让client定时向server发送消息,表明他在线,同时将server上的生命值置为最大,server定时减少生命值,如果生命值为0,则表明其client已经掉线。

    网友:junlinjd

    我也有类试的问题,  
      to   wangjinwang(王进)   &&   frank123(frank):  
       
      if(让client定时向server发送消息)  
      {  
              if(client数量>300)  
            {  
                  server和client建立起来的socket会占用很多网络资源吗?  
              }  
      }  
      else   if(client更改ip   ||   client更改ip   ||   client   reset)  
      {  
              server能检测到client   还在线吗?  
      }  
       
      谢谢帮助!  
     

    网友:skt01

    可以一次连接上,不需要断开,然后由服务器定时询问客户端,客户端收到后给答复(运行状态),如果客户退出,马上连接断开,服务端就会收到消息。用casyncsocket就可以了

    网友:likebj

    如果机器不多,可以在服务器定时发出广播,client接收到后把自己的信息打抱  
      发送给server,每台机器开机时象服务器报告自己的信息.文件加密传输是基本问题了,

    网友:fenglianghuai

    用命名管道很好实现

    网友:junlinjd

    我想知道  
      else   if(client更改ip   ||   client更改ip   ||   client   reset)  
      {  
              server能检测到client   还在线吗?  
      }  
     

    网友:isakeeper

    up

    网友:frank123

    to:junlinjd(大海、蓝天、草原、my   god)   只要你的机器还能容纳2万个client,就没有问题,  
      因为我们的在线list中,还存了用户的号码,所以当client更改ip   ||   client更改ip   ||   client   reset,就会用新的信息代替老的信息,也就意味这server能检测到client的变化。

    网友:junlinjd

    client更改ip我测试过,只有client   端抓到fd_close   的消息,而server根本就不触发这个消息。计算机reset的话,server就更加不知道了!

    网友:brightboy

    检测命令超时

    网友:flmttm

    up

    网友:yuanbocsut

    up

    网友:lemong

    使用多线程应该可以,客户端不是太多

    网友:gowithme2002

    客户端30个已经不太适合采用多线程,因为机器超过30个线程系统性能已经严重受影响,建议采用重载csocket类,采用消息机制,在收到onreceive()时仅仅收取数据,然后采用专门的线程来分解数据。弊端就是客户端的掉线消息收不到,不过如果客户端程序也是你们写就好办。我们目前的处理是一定时间内没从该客户端收到数据就假设他掉线。

    .
      最佳浏览:1024X768 MSIE
    ©2007 jqmk.com.cn All Rights Reserved