顯示具有 network 標籤的文章。 顯示所有文章
顯示具有 network 標籤的文章。 顯示所有文章

2023年10月26日 星期四

delphi iocp socket tcpip network

     
https://sourceforge.net/p/synalist/code/HEAD/tree/trunk/
http://www.ararat.cz/synapse/doku.php/download
         Ararat Synapse Code  SynaSer serial library Synapse TCP/IP and serial library Winsock
http://visualsynapse.sourceforge.net/  
         VisualSynapse TCP/IP Delphi components based on Synapse.
http://synapse.ararat.cz/files/contrib/  
         Contributed Download Area - various samples and others.
http://synapse.ararat.cz/files/crypt/  
         Crypting libraries for SSL/TLS/SSH in Synapse
http://synapse.ararat.cz/files/W95ws2setup.exe  
         Winsock2 support for Windows95
http://www.wireshark.org/  
         Wireshark excellent tool for analyse and debugging of network communication.
https://www.nsoftware.com
https://www.nsoftware.com/products/
         Internet Communications and Security

voipobjects delphi-iocp-library voipobjects delphi-iocp-library  http://voipobjects.com/

https://github.com/tondrej/iocp-delphi
         Windows IO Completion Port wrapper class for Delphi and Free Pascal
          compilers: Delphi 7 or higher, Free Pascal 3.0.4 or higher
          targets: Windows XP/Windows Server 2003 or higher, both 32 and 64-bit

Fiber and IOCP API siqiyi/libfiber The high performance coroutine library
GitHub iqiyi libfiber OS platfroms including Linux, FreeBSD, MacOS, and Windows, which supports
 select, poll, epoll, kqueue, iocp, and even Windows GUI messages

Using beamer overlays with forest generated trees

HPScktSrvr at http://www.torry.net/ with the code pages.php?id= and a number sequence of 220#939383

Indy, ICS, Synapse, and Clever InetSuite,
ICS - The Internet Component Suite

iocpengine iocpengine - I/O Completion Port Engine for Delphi

TISAPIThreadPool; TIstringHelper; TIWPaintHandler. TIWPaintHandlerDsn. TIWPaintHandlerButton; TIWPaintHandlerCheckBox; TIWPaintHandlerComboBox ...

HttpSys2WebServer from DWScript use an IOCP-based server.

https://torry.net/components/internet/sockets/#939383

https://habr.com/ru/articles/145140/
Windows Sockets, IOCP и Delphi



//////////////////////////////////////////////////////////////////////////////////////////////////////
 Создание списков сокетов разных типов.
Инициализация подсистемы сокетов.
Создание очереди сообщений.
Создание пула для обработки очереди.
Создание событий для сокетов.
Создание потоков отслеживающих сокетные события( например подключение нового клиента)
procedure Init;
var
  WSAData: TWsaData;
  i: Integer;
begin
  gClients := TProtoStore.Create;
  gListeners := TProtoStore.Create;
  gServerClients := TProtoStore.Create;
  if WSAStartup(MAKEWORD(2, 2), WSAData) <> 0 then
    raise IOCPClientException.Create(sErrorInit_WSAtartup);
  gIOCP := CreateIoCompletionPort(INVALID_HANDLE_VALUE, 0, 0, CPUCount * 2);
  if gIOCP = INVALID_HANDLE_VALUE then
    raise IOCPClientException.Create(sErrorInit_CreateIoCompletionPort);
  for i := 1 to CPUCount * 2 do
 begin
    SetLength(gWorkers, Length(gWorkers) + 1);
    gWorkers[Length(gWorkers) - 1] := TWorkerThread.Create();
  end;
  gListenerAcceptEvent := WSACreateEvent;
  if gListenerAcceptEvent = WSA_INVALID_EVENT then
    raise IOCPClientException.Create(sErrorInit_WSACreateEvent);
  gServerClientsCloseEvent := WSACreateEvent;
  if gServerClientsCloseEvent = WSA_INVALID_EVENT then
    raise IOCPClientException.Create(sErrorInit_WSACreateEvent);
  gClisentsConnectAndCloseEvents := WSACreateEvent;
  if gClisentsConnectAndCloseEvents = WSA_INVALID_EVENT then
    raise IOCPClientException.Create(sErrorInit_WSACreateEvent);
  gClientSocketEventThread := TSocketEventThread.Create
    (gClisentsConnectAndCloseEvents, gClients, ET_EVENT_SIGNALED);
  gClientSocketEventThread.Start;
  gServerClientsSocketEventThread := TSocketEventThread.Create
    (gServerClientsCloseEvent, gServerClients, ET_EVENT_SIGNALED);
  gServerClientsSocketEventThread.Start;
  gServerSocketEventThread := TSocketEventThread.Create(gListenerAcceptEvent,
    gListeners, ET_EVENT_SIGNALED);
  gServerSocketEventThread.Start;
end;

diocp DIOCP 无锁队列 ZeroMQ QWorkers uJobPusher RabbitMQ websocket network

 https://www.opensourceagenda.com/projects/zserver4d
内置抗量子密码支持 https://en.wikipedia.org/wiki/SHA-3  支持了5大美国国家标准技术研究所(NIST)高级加密标准算法      rc6加密,通讯协议支持 https://en.wikipedia.org/wiki/RC6     Twofish加密,通讯协议支持 https://en.wikipedia.org/wiki/Twofish     Serpent加密,通讯协议支持 https://en.wikipedia.org/wiki/Serpent_(cipher)     Mars加密,通讯协议支持 https://en.wikipedia.org/wiki/MARS_(cipher)     Rijndael加密,通讯协议支持 https://en.wikipedia.org/wiki/Advanced_Encryption_Standard

 https://www.nuget.org/packages/SimpleMsgPack
 https://www.twblogs.net/a/5ef0629c33cbe858769e7fee
zmq_strerror - 台部落

 https://www.oschina.net/project/widgets/_project_list?company=0&tag=12&lang=0&os=156&sort=favorite&recommend=false&cn=false&weekly=false&p=150&type=ajax

 http://m.mamicode.com/info-detail-1515096.html
DIOCP之DEMO-登陆验证设计(二)-码迷移动版-m.mamicode.com

http://bbs.2ccc.com/topic.asp?topicid=460182
DIOCP开源项目-DIOCP3
http://www.cnblogs.com/DKSoft/p/3889125.html
目前diocp3的开源地址 https://github.com/ymofen/diocp3
https://code.google.com/archive/p/diocp/source/default/source?page=33
Google Code Archive - Long-term storage for Google Code Project Hosting.

https://www.cnblogs.com/hnxxcxg/category/1168706.html
DIOCP TDiocpCoderTcpServer异步任务投递队列TDiocpCoderTcpServer异步任务投递队列 
 delphi中间件  TDiocpCoderTcpServer数据序列和还原 TDiocpCoderTcpServer数据序列和还原 

 http://wedelphi.com/f/4/
DIOCP | WeDelphi Forum

 https://gitee.com/ymofen/diocp-v5
diocp-v5: iocp, websocket, delphi,http

https://github.com/yangyxd/YxdIOCP
yangyxd/YxdIOCP: Delphi Windows IOCP 通讯模型封装,基于DIOCP。YxdIocp包含有支持大并发的TCP服务组件、HTTP服务组件、UDP服务组件、WebSocket服务组件,和TCP、UDP等基础客户端组件。

https://github.com/ymofen/diocp-v5

diocp DIOCP  无锁队列 ZeroMQ QWorkers
uJobPusher RabbitMQ websocket

  diocp  websocket DIOCP 开源地址 DIOCP-v5开源项目地址https://github.com ... WebSocket + Spring Security + SpringData-Jpa + MySql工程结构说明java .

webflux · GitHub Topics

flex开源项目地址   https://github.com/flex-users/flexlib

 

 

2023年10月12日 星期四

Windows IOCP Linux EPOLL Performance Comparison

 https://news.ycombinator.com/item?id=19520953

IOCP is particularly strong when you compare it to select, poll, epoll, kpoll, a... | Hacker News

https://pt.slideshare.net/sm9kr/iocp-vs-epoll-perfor

Windows IOCP vs Linux EPOLL Performance Comparison | PPT

Epoll Kernel Performance Improvements 

Linux EPOLL Performance Comparison

linux epoll technique Epoll in Linux Device Driver

https://zh.wikipedia.org/zh-tw/Epoll

2017年9月21日 星期四

delphi Socket Components


DelphiA variety of SocketComponents of the model and the model

Assembly
Unit
Dependence
Pattern
Model
WebApp/CGI
sockapp.pas
Indy
Blocking or non blocking
select
Indy


Blocking or non blocking
select
ICS
OverbyteIcsWSocket.pas

Non blocking
WMAsyncSelect
TTcpServer/TTcpClient
sockets.pas

Blocking or non blocking
Select
RealThinClient

The ICS variant
Non blocking
wsaasyncselect
synapse
blckSock.pas

Blocking or non blocking
Select
TServerSocket
TClientSocket
ScktComp.pas

Blocking or non blocking
WSAAsyncSelect
FastNet
psock.pas


WSAAsyncselect
TSocketConnection

TServerSocket
TClientSocket



From the table above can be seen, not a component using the following 4 models:
Blocking mode
Overlap port
Event selection
The completion port
Only to:
Select
WSAAsyncselect
These two kinds of models, and the use of WSAAsyncselect model, the inevitable need window, components used as service is not much. 
We will analyze various server program is what model: 
IOCP 
Apache
Legend
Mysql
Erlang
WSAEventSelect
TServerSocket 
...


By steven
2014-2-1