Delphi-Cross-Socket icon indicating copy to clipboard operation
Delphi-Cross-Socket copied to clipboard

Delphi cross platform socket library

Results 58 Delphi-Cross-Socket issues
Sort by recently updated
recently updated
newest added

The CryptoLib library is loaded by the SSLLib library. This means that in Net.OpenSSL.pas in procedure LoadSslLibs the CryptoLib has to be loaded first. Otherwise the SSLLib library will load...

hello, imho your code is well written, especially the IOCOMP windows code, however let me express doubts about the scalability and reliability of EPOLL linux wrapper, using a single thread...

Since there are a limited number of I/O threads, if you attempt to simultaneously SSL handshake connections totaling more than the number of available I/O threads, a dead-lock will occur....

It is possible to corrupt the recv data stream on Android and Linux using the Epoll because more than one I/O thread could be processing a Read operation simultaneously. This...

It is far more efficient to pass parameters to functions in Delphi as consts, where ever possible.

在win7上跑https server,在android和iphone手机上用idhttp发请求,在idcookmanager添加cookie信息后再发post请求,https server有时候收不到cookie信息,大概10次中有5,6收不到。但是客户端使用win32程序,用同样的控件和代码发送请求,就没问题。后来试用过,一定要在idhttp的customheader中把cookie信息加上,https server上就都能正常收到cookie信息。 但是之前用diocp的框架来做server,用同样的控件和代码,在android和iphone手机上用idhttp发请求都是可以正常接收到cookie信息的。

很高兴你的程序质量有大幅提升,不仅使用了很多Delphi的新语法,如匿名函数、泛型、并行库等,而且还重构了代码,采用面向接口的编程,更方便使用和扩张,同时更好的防止内存泄漏。 为了得到更高的性能,希望作者能有更多改进: 1.每个线程有自己独立的完成端口(消息队列),不访问其他线程的完成端口。不像现在每个Server都创建完成端口,而是每次启动时就固定创建好CPU个线程和完成端口。每个TCP连接或者相关的TCP连接,只由此线程处理。这样可以不用处理粘包,避免IO乱序(单Socket大量包时后到的io先被处理)问题,可以大量避免锁的使用,性能得到提升。 2.在改进第1步基础上,可再进一步改进:建立CPU亲和性,每个CPU运行一个工作线程,每个线程建立独立的内存管理器,线程启动时申请大块内存,由线程的内存管理器分配内存。

比如 connent,回调函数只能判断是否成功,拿不到出错信息。 还有 OnDisconnected 也是,不知道是什么原因断开。。

android boring ssl support or integrate pre-compile libraries