在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):lpeterse/haskell-socket开源软件地址(OpenSource Url):https://github.com/lpeterse/haskell-socket开源编程语言(OpenSource Language):Haskell 88.4%开源软件介绍(OpenSource Introduction):socketMotivationThis library aims to expose a minimal and cross-platform interface for BSD style networking code. Implementation Philosophy
Platform SupportLinuxPlatform is fully supported. Each commit and release is automatically tested with Travis CI and several versions of GHC. WindowsFully supported on Windows7 (maybe Vista) or higher :-) GHC's runtime system on Windows does not offer an event notification mechanism for sockets. The original network library suffers from this, too. For example, connection attempts are non-interruptible etc. The approach taken to circumvent this in this library is to poll the non-blocking sockets with increasing delay. This guarantees interruptibility and fairness between different threads. It allows for decent throughput while also keeping CPU consumption on a moderate level if a socket has not seen events for a longer period of time (maximum of 1 second delay after 20 polling iterations). The only drawback is potentially reduced response time of your application. The good part: Heavy load (e.g. connection requests or incoming traffic) will reduce this problem. Eventually your accepting thread won't wait at all if there are several connection requests queued. This workaround may be removed if someone is willing to sacrifice to improve the IO manager on Windows. Each commit and release is automatically tested with AppVeyor continuous integration. MacOSWorking, but not regularly tested. Please report when it is no longer working on MacOS. Dependencies
TestsThe project uses tasty for testing. There are two test suites: |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论