最近想写一个网络通信方面的程序
客户端:给服务器传一个512位的字符串,接收服务器返回的值
服务器:接收到客户端传来的值,根据相关条件连接到数据库取出1024位字符串,调用一个动态库文件进行比较,比较完毕后返回结果信息给客户端.
客户端并发数约100-200个恳请大家根据经验给点意见,比如用单线程或多线程,阻塞还是非阻塞,用那种控件最为高效方便,谢谢!

解决方案 »

  1.   

    可以用tcp开客户端启动的时候连接服务器,连接完成后发送数据,服务器接到数据后立刻分析,并返回结果,客户端接到该结果后立刻断开连接即可,当然,你可以将这个工作作为一个线程来做,就像很多聊天工具的登录一样,这样的话,客户并发数也不是问题了
      

  2.   

    没一个客户端和服务器的通讯用一个辅助线程来做,可以使用非阻塞模式,另外注意I/O模式的选择,不要用空件,直接用winsock api来做。
      

  3.   

    INDY要比winsock.api简单一些,但控制比较麻烦
      

  4.   

    用socket通信觉得比较合适。我的帖子你可以关注一下:http://community.csdn.net/Expert/topic/5169/5169744.xml?temp=.6509973
      

  5.   

    ttcpserver和tclientserver 就够用了。服务器端创建一个发送缓冲区,创建一个线程,总是检查发发送缓冲区是否有数据,如果有就发送,没有就暂停,服务器要发送的数据先都添加到发缓冲区。
    创建接收缓冲区,先将收到的所有数据都放在接收缓冲区中,创建线程从缓冲区中取数据进行处理。客户端也同样。
      

  6.   

    tcp还是udp,网络程序还是用阻塞的方式好。indy是最好的选择。有空可以帮你做做,
      

  7.   

    在IDTCPSERVER控件的EXECUTE事件中不能调用函数吗?我想调用数据库操作的函数,客户端报错"Connection Closed Gracefully" .
      

  8.   

    加了句CoInitialize(nil);这个问题解决了( user中要加Activex)
    基本上搬的indy上的例子,不知在性能上能不能达到
      

  9.   

    为了快速开发用 INDY  很方便的 并发数约100-200个 这个一点问题都没有
    当然你程序写的太烂除外