Delphi 跨平台 Socket 通訊庫

2021-09-07 22:40:51 字數 1096 閱讀 9066

delphi 跨平台 socket 通訊庫

免費開源的delphi 跨平台 socket 通訊庫。

原始碼url:

## 重要更新(2017.08.22)

- **重構, 做了大量修改, 詳見原始碼

- 增加了幾個新的 inte***ce, 用法詳見 demos

- icrosssocket

- icrosssslsocket

- icrossserver

- icrosssslserver

## 特性

- 針對不同平台使用不同的io模型:

- iocp

> windows

- kqueue

> freebsd(macosx, ios...)

- epoll

> linux(linux, android...)

- 支援極高的併發

- windows

> 能跑10萬以上的併發數, 需要修改登錄檔調整預設的最大埠數

- mac

> 做了初步測試, 測試環境為虛擬機器中的 osx 10.9.5, 即便修改了系統的控制代碼數限制,

> 最多也只能開啟32000多個併發連線, 或許 osx server 版能支援更高的併發吧

- 同時支援ipv4、ipv6

- 零記憶體拷貝

## 已通過測試

- windows

- osx

- ios

- android

- linux

## 建議開發環境

- 要發揮跨平台的完整功能請使用delphi 10.2 tokyo及以上的版本

- 最低要求支援泛型和匿名函式的delphi版本, 具體是從哪個版本開始支援泛型和匿名函式的我也不是太清楚

## 已知問題

- 非windows平台下的ssl不穩定, 請勿用於生產環境

## 部分測試截圖

- **http**(服務端為ubuntu 16.04 desktop)

![20170607110011](

- **https**(服務端為ubuntu 16.04 desktop)

![20170607142650](

DELPHI跨平台的臨界替代者

在windows裡面使用臨界來保護多執行緒需要訪問的共享物件,現在,delphi有了新的跨平台臨界保護者 system.tmonitor 演示如下 fconnections tobjectdictionary.create procedure tcmserverform.cmservertransp...

跨平台非阻塞SOCKET實現原始碼分析

1.實現linux與windows的共同函式 a.linux平台標頭檔案引用 include include include include include include include include include includeb.windows平台標頭檔案引用 include includ...

跨平台相關

二者區別 strdup是posix,strdup是windows特定。在unix上,使用的strdup。在不同作業系統的lib庫名字不同的,為了讓程式可以多平台,需要在巨集定義中判斷當前執行作業系統和編譯器的型別,動態調整。windows win32 win32 linux linux linux ...