socket api编程新手提问:在服务端创建一个SOCKET并且bind(),listen()成功了,在LISTEN后如何自动接收数据? 关键是不知道如何自动ACCEPT每一个CLIENT SOCKET。难道用 while true do ......头痛啊。有经验的高人,请指点下在下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考与学习了delphi自带的TINDYTCPSERVER源码, 才知道是用另外的线程来实现的实时监听......但VCL源码看得头有些昏,不知道有没有哪位好心的高人,能给简单些的代码来提示下吗? 阻塞模式下就是这样的。while true dobegin newSock:= Accept(...); //需要创建一个新的线程来处理这个socket ....end;VCL的TTcpServer/TTcpClient/TUDPSocket等使用的都是是非阻塞模式,创建了一个秘密窗体来处理socket消息.Indy是阻塞模式。一般服务器使用完成端口的比较多。你google搜索一下IOCP socket有很多代码的。 建议楼主还是看TCP/IP编程基础吧。 好不容易找到了iocp示例代码,费老大劲才长到了winsock2.pas文件。得好好学习下才行了。哎......看来长时间不更新自己的知识,真的快要落伍了!多谢楼上各位的支持!结贴了。 如果连基础的socket开发都不了解,去搞什么IOCP,那更会头晕。 整个IOCP,从我最初接触,到写出来可以使用,到完成性能调整,足足花了有一年时间,其中还不包括Socket编程的一些基础。 嘻~~,我是下载的开源的IOCP源码,先使用,再学习。再说,我看了源码,并不是难到让我无从下手,从源码里,学了很多东西。呵~~,研究透了,再动手来写自己的IOCP。 光是IOCP的实现很简单,就几个函数,但是要做好,做稳定,并且达到高效率高性能的目的,就不简单了。 Delphi listview重绘标题 如何开发客户/服务器式的程序 急救:翻译文章,给100点 关于Intraweb中WebApplication.ShowMessage()的问题,知道的请进来看看! 救命呀﹗﹗﹗老大讓我搞一個文件備工具出來﹐我不會 如何用SQL语句查询多张表的不同字段? Word问题,有的是分 请问一个显示格式的问题!谢谢! 谁能提供intraweb设计方面的资料或电子文档? 置疑 求助:RzProgressBar的用法 存储过程参数传递
才知道是用另外的线程来实现的实时监听......
但VCL源码看得头有些昏,不知道有没有哪位好心的高人,能给简单些的代码来提示下吗?
while true do
begin
newSock:= Accept(...);
//需要创建一个新的线程来处理这个socket
....
end;VCL的TTcpServer/TTcpClient/TUDPSocket等使用的都是是非阻塞模式,创建了一个秘密窗体来处理socket消息.
Indy是阻塞模式。一般服务器使用完成端口的比较多。你google搜索一下IOCP socket有很多代码的。