簡體   English   中英

可以boost :: asio :: async_read_until檢測到無盡的流

[英]Can boost::asio::async_read_until detect an endless stream

我正在使用boost :: asio :: async_read_until從套接字讀取消息,並使用換行符作為分隔符。

例如boost :: asio :: async_read_until(socket,buffer,“ \\ n”,.....)

一切都是亨基·多雷,一切正常。

是否有其他方法可以使用此功能或類似的功能,該功能可以檢測字符中沒有換行常量的無窮字符序列。

例如,惡意用戶可能會在我的服務器上發射連續的ZEROS序列

socat / dev / zero TCP4:localhost:55555

我不能成為歷史上第一個遇到這個問題的人

您可以使用4個重載中的版本4:

http://www.boost.org/doc/libs/1_62_0/doc/html/boost_asio/reference/async_read_until/overload4.html

在功能對象(通常是狀態機的接口)中,您可以計算字符,檢測非法數據流或任何其他必要方式。

值得一提的是,如果您的應用程序在敵對環境(即面向Internet)中運行,那么您可能希望使用async_read_some來饋送您的狀態機,並希望使用計時器來捕獲並殺死占用並占用資源的連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM