acl icon indicating copy to clipboard operation
acl copied to clipboard

想写一个websocket tcp转发的程序

Open okman334 opened this issue 2 years ago • 3 comments

acl的功能太多,太全了,几乎真个互联网行业要用到的功能,可能都有了。刚刚接触感觉有点不知道如何下手。 最近想写一个websocket的转发程序,收到消息通过tcp转发到下一级内网服务器,请问有相关参考的例子么?

okman334 avatar Mar 23 '22 14:03 okman334

acl中关于websocket的例子还是挺多的,可以参考: 1、https://github.com/acl-dev/acl/tree/master/lib_acl_cpp/samples/websocket 下面有几个示例展示如何使用 ws 上传、下载文件的; 2、https://github.com/acl-dev/acl/tree/master/app/wizard_demo/fiber_chat 使用 ws 实现的一个简单的页面聊天服务

zhengshuxin avatar Mar 24 '22 06:03 zhengshuxin

acl中关于websocket的例子还是挺多的,可以参考:

1、https://github.com/acl-dev/acl/tree/master/lib_acl_cpp/samples/websocket 下面有几个示例展示如何使用 ws 上传、下载文件的;

2、https://github.com/acl-dev/acl/tree/master/app/wizard_demo/fiber_chat 使用 ws 实现的一个简单的页面聊天服务

好的,谢谢了。还有那请问一下, 重载的函数,bool doWebSocket(acl::HttpServletRequest&, acl::HttpServletResponse&);中的acl::HttpServletResponse是线程安全的吗?比如我收到一个数据,丢到另外一个线程A去处理,处理完,直接在A线程调用acl::HttpServletResponse:: send_frame_data回应处理结果,是可以的吗? 另外我看例子,doWebSocket函数好像处理了类似tcp“解粘包”一样的处理,websocket不应该是像http一样,响应函数是一个一个已经解好的包么? 麻烦了。

okman334 avatar Mar 29 '22 15:03 okman334

同一对象只能在同一线程中处理,不应放到别的线程中处理;websocket模块基本上是遵守了websocket协议的。

zhengshuxin avatar Apr 02 '22 05:04 zhengshuxin