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 ...