# 实现“delphi android iocp”教程
## 整体流程
首先,我们需要了解整个实现过程的步骤,在这里我为你整理了一个表格:
| 步骤 | 操作 |
|-----|------|
| 1 | 创建一个新的Android项目 |
| 2 | 配置Delphi环境,确保可以连接Android设备 |
| 3 | 导入相关的IOCP库文件 |
| 4 | 在Delphi中编写IOCP
原创
2024-05-02 04:50:05
35阅读
困扰已久的网络通信(IOCP:完成端口),今天终于揭开她的神秘面纱了,之前百度N久还是未能理解IOCP,网络上好多博文都没有贴出源码,初学者很难正在理解IOCP并自己写出通信例子 ,经过努力,今天自己终于做出了简单的测试程序,下面贴出源码,水平有限,难免有错,希望不要误人子弟。 1、Svr主窗体 ? Read More
转载
2018-01-04 21:23:00
186阅读
在我的BLOG中有几篇文章是关于如何用DLEPHI来实现IOCP,详见我的BLOG《DELPHI中完成端口(IOCP)的简单分析》。在这几篇文章中介绍了如何编写一个简单的IOCP的方法。
最近我重新对这些文章中的一些BUG和效率低下的部分做了修正(其实相当于重新编写),通过几个不同的途径对IOCP进行了实现。下面我就来说一下我对以前代码的优化方法。
1:结构
推荐
原创
2008-10-16 11:47:15
10000+阅读
25评论
之前一直接从事企业管理的软件,接触网络比较少。网络方面的知识也很惨。最近想弄下iocp。网上找了很多资料,大部分是关于c++的。delphi的比较少。看了下,不适合刚接触网络的菜鸟学习!看过fxh的blog,觉得写的容易理解。http://fxh7622.blog.51cto.com/63841/7667基本上按照他的blog代码进行的编写。编译理解iocp的原理。首先我来个通俗的理解步骤。1.服务器创建一个iocp端口服务。2.服务器创建N个工作线程,不停的轮流处理这个端口上面的连接和请求。3.开启iocp的端口服务<绑定监听端口,进行监听>。如果接收到请求,通知iocp工作线程
原创
2021-07-22 15:08:55
361阅读
经过研究代码,觉得有几个函数必须要清楚原理。才能理解代码,清楚流程。异步模式:类似form.show();阻塞模式:类似form.showModal();WSAAccept;当客户端有连接请求的时候,WSAAccept函数会新创建一个套接字cSocket。其他的参数可以查看MSDN,和google。需要说明的一点是这个函数不是异步的,是阻塞模式。WSARecv;收取socket的数据这个函数是异步模式,执行后马上返回。数据接收到后,GetQueuedCompletionStatus,会返回GetQueuedCompletionStatus:实现从指定的IOCP请求队列中获取请求。当队列为空时,
原创
2021-07-22 15:08:54
1831阅读
现在IOCP可以接收到数据了。>>>>>>>>>其实IOCP的队列是先进先出的,经过测试,看来是我记错了!!!!>>>>2013年4月20日 16:22:46>>>>>引用TCP数据粘包的产生原因在于TCP是一种流协议。在以太网中一个TCP的数据包长度是1500位。其中20位的IP包头,20位的TCP包头,其余的1460都是我们可以发送的数据>>>>>><http://fxh7622.blog.51cto.com/63841/15578>我
原创
2021-07-22 15:08:50
262阅读
今天把前几天研究的代码都整理了下。我觉得刚开始学习IOCP,看简单的例子更容易入门。先截取运行图下面是这个是IOCP简单测试点击运行服务,开启IOCP工作线程和监听过程。创建客户端连接是使用的idtcpClient.发送字符,使用idtcpClient向iocp服务发送一个abc字符///中间用了个小工具显示日志提供源码: 360云盘
原创
2021-07-22 15:08:52
566阅读
1评论
(希望大家在转贴的时候注明出处,谢谢)
用DELPHI开发网络代码已经有一段时间了!
我发现在网上用VC来实现完成端口(IOCP)的代码很多,但是使用DELPHI来实现的就比较少了。对IOCP讲的清楚的就更少了。在这里我把自己编写DELPHI下的IOCP写出来,希望对刚学完成端口的朋友有个帮助。
首先我们来了解一些在使用IOCP的时候需要使用的一些结构!
(1):单IO数据结构
&nbs
推荐
原创
2006-11-03 17:01:25
10000+阅读
点赞
10评论
最近太忙,所以没有机会来写IOCP的后续文章。今天好不容易有了时间来写IOCP的粘包处理问题。
TCP数据粘包的产生原因在于TCP是一种流协议。在以太网中一个TCP的数据包长度是1500位。其中20位的IP包头,20位的TCP包头,其余的1460都是我们可以发送的数据。在数据发送的时候,我们发送的数据长度有可能比1460短,这样在TCP来说它还是以一个数据包来发送。从而降低了网络的利用率。所以T
推荐
原创
2007-01-17 11:18:24
8273阅读
点赞
4评论
今天我写一下关于DELPHI编写完成端口(IOCP)的工作者线程中的东西。希望各位能提出批评意见。上次我写了关于常见IOCP的代码,对于IOCP来说,接受到客户端发送过来和自己发送出去的数据都是从工作者线程中得到。代码和解释如下:function ServerWorkerThread(CompletionPortID:Pointer):Integer;stdcall;begin &nbs
原创
2006-11-03 17:02:49
10000+阅读
点赞
3评论
在我以前写的文章中,一直说的是如何接收数据。但是对于如何发送数据却一点也没有提到。因为从代码量上来说接收的代码要比发送多很多。今天我就来写一下如何使用IOCP发送数据。
function TNetControl.SendSpecifyData(const Socket: TSocket; Data: array of char; DataLen: Integer): Boole
推荐
原创
2007-01-19 09:37:32
8248阅读
点赞
30评论
Delphi-IOCP 共同学习研究群号 320641073iocp的学习和交流。
原创
2021-07-22 15:10:21
115阅读
经过一段时间的研究和学习,对IOCP的原理和流程都有了一定的了解,测试的Demo结果显示在局域网内轻轻松松处理5000个左右的连接,还是比较稳定的。运行Echo测试几个小时后。服务端内存稳定在60M左右。这两天对原始代码进行了封装,封装成了一套IOCP类。原始的API调用,对于研究和学习IOCP的原理还是比较好的。封装后,如果没有较好的文档,可能比较难理解。1.发送数据流程图2.服务回写数据流程2.IOCP对象中心2.1 TIOCPObject IOCP对象中心,创建IOCP句柄,开启侦听端口。 提供处理数据,接收套接字,投递接收请求,投递发送请求。 2.2 TIOCPClientCon...
原创
2021-07-22 15:10:22
366阅读
Delphi下IOCP开源框架:DIOCP 成功应用案例分享
转载
2021-07-22 16:33:46
859阅读
点赞
IOCP全称I/O Completion Port,中文译为I/O完成端口。IOCP是一个异步I/O的API,它可以高效地将I/O事件通知给应用程序。与使用select()或是其它异步方法不同的是,一个套接字[s...
转载
2013-09-12 15:23:00
173阅读
2评论
Delphi开发的IOCP,此为压力测试Demo和使用说明。
原创
2012-03-20 23:20:54
2084阅读
3评论
IOCP全称I/O Completion Port,中文译为I/O完成端口。IOCP是一个异步I/O的API,它可以高效地将I/O事件通知给应用程序。与使用select()或是其它异步方法不同的是,一个套接字[socket]与一个完成端口关联了起来,然后就可继续进行正常的Winsock操作了。然而,当一个事件发生的时候,此完成端口就将被操作系统加入一个队列中。然后应用程序可以对核心层进行查询以得到
转载
2021-07-31 10:21:35
258阅读
IOCP 转自:http://blog.csdn.net/jifengszf/article/details/1896839网络程序入门后的第一件是就是学会选择合适的io模型,这对
转载
2023-05-22 11:42:07
90阅读
下windows平台上的完成端口开发及其与之相关的几个重要的技术概念,这些概念都是与基于IOCP的开发密切相关的,对开发人员来讲,又不得不给予足够重视的几个概念:1) 基于IOCP实现的服务吞吐量2)IOCP模式下的线程切换3)基于IOCP实现的消息
原创
2023-04-28 17:18:47
145阅读
Python是一门简洁而优雅的语言,她的高生产率使我们能用最少的人力、物力、时间、财力代价解决眼前的问题。但是当解决了眼前的问题,一些更长远的问题就不得不考虑。 利用Python自带的socket模块写网络服务器程序,很难能够承受上千个连接。我曾经参考赖勇浩同学的NetStream模块,使用Python自带的socket模块
转载
2023-07-13 10:57:14
110阅读