关键是不知道如何自动ACCEPT每一个CLIENT SOCKET。
难道用
  while true do
   ......
头痛啊。有经验的高人,请指点下在下。

解决方案 »

  1.   

    参考与学习了delphi自带的TINDYTCPSERVER源码,
     
    才知道是用另外的线程来实现的实时监听......
    但VCL源码看得头有些昏,不知道有没有哪位好心的高人,能给简单些的代码来提示下吗?
      

  2.   

    阻塞模式下就是这样的。
    while true do
    begin
      newSock:= Accept(...);
      //需要创建一个新的线程来处理这个socket
      ....
    end;VCL的TTcpServer/TTcpClient/TUDPSocket等使用的都是是非阻塞模式,创建了一个秘密窗体来处理socket消息.
    Indy是阻塞模式。一般服务器使用完成端口的比较多。你google搜索一下IOCP socket有很多代码的。
      

  3.   

    建议楼主还是看TCP/IP编程基础吧。
      

  4.   

    好不容易找到了iocp示例代码,费老大劲才长到了winsock2.pas文件。得好好学习下才行了。哎......看来长时间不更新自己的知识,真的快要落伍了!多谢楼上各位的支持!结贴了。
      

  5.   

    如果连基础的socket开发都不了解,去搞什么IOCP,那更会头晕。
      

  6.   

    整个IOCP,从我最初接触,到写出来可以使用,到完成性能调整,足足花了有一年时间,其中还不包括Socket编程的一些基础。
      

  7.   

    嘻~~,我是下载的开源的IOCP源码,先使用,再学习。再说,我看了源码,并不是难到让我无从下手,从源码里,学了很多东西。呵~~,研究透了,再动手来写自己的IOCP。
      

  8.   

    光是IOCP的实现很简单,就几个函数,但是要做好,做稳定,并且达到高效率高性能的目的,就不简单了。