当前项目开发环境:vs2005 C# winform 项目程序,数据库 Access。
项目描述:
      共2个程序,一个是服务器端程序,一个是客户端程序,项目运行在局域网内。
服务器端作为管理和控制中心,可以监控控制各个客户端。
1、服务器端程序安装在一台电脑上,客户端程序可以安装在多台电脑上,一台电脑上只安装一个,客户端里预先已设定服务器端程序所在机器的ip地址;
项目功能:
1、当客户端联网在线时,服务端能够显示出来,并且能够获得该用户的信息,如:机器名、ip地址等等;
  2、服务器端向客户端发送指令,可以控制它重启、关机等)(目前实现情况:通过socket通信,当在线时,通过socket通信客户端将信息发送到服务端;控制是:客户端接收到服务器端的命令,然后执行相应的功能,效率低,且存在很多问题)。项目需要改进的地方:
1、服务器端若可以获得客户端的信息,服务器端程序必须首先打开,客户端再开启才可以获得,若顺序颠倒,则无法获得;
2、使用socket通信,占有很大的内存和cpu资源;
3、运行不稳定,特别是当有多个客户端登录时,不稳定;希望大家看到这帖子,能够提出socket通信优化技术,或者其它可以实现类似功能的技术。能顶给分,就这么点分,在这里先谢谢大家了.

解决方案 »

  1.   

    是你的设计有问题别老怪Socket
      

  2.   

    不行了找C/VC++高手用WINSOCKET写吧.通讯开发是一个分支,不可能能文能蜈的,让擅长的人做擅长的事
      

  3.   

    1、服务器端若可以获得客户端的信息,服务器端程序必须首先打开,客户端再开启才可以获得,若顺序颠倒,则无法获得;如果CSDN的服务器没有开,你能在这里发帖吗?2、使用socket通信,占有很大的内存和cpu资源;从你自己的程序下手进行优化吧。3、运行不稳定,特别是当有多个客户端登录时,不稳定;同上
      

  4.   

    在客户端监听某端口,当服务器上线时,发送固定传播的包,当客户端接收到包后,发送心跳信息到服务器,服务器进行确认是否上线
    接收不稳定那里你需要写一个通道或者socket缓冲区,处理同时接收不同客户端的不同信息
    很奇怪很诡异socket很占资源么?