[英]Can boost::asio::async_read_until detect an endless stream
我正在使用boost :: asio :: async_read_until從套接字讀取消息,並使用換行符作為分隔符。
例如boost :: asio :: async_read_until(socket,buffer,“ \\ n”,.....)
一切都是亨基·多雷,一切正常。
是否有其他方法可以使用此功能或類似的功能,該功能可以檢測字符中沒有換行常量的無窮字符序列。
例如,惡意用戶可能會在我的服務器上發射連續的ZEROS序列
我不能成為歷史上第一個遇到這個問題的人
您可以使用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.