求取经!关于网关服务器设计思路;一些疑问

大大啊 2013-01-05 02:55:26
我想写个网关服务器!!

我的理解是。。网关服务器有2个端口,一个端口是暴露给外网客户端用的。 另一个是内部服务器发送消息给网关用的;

(内部服务器会主动发消息给 王关的)

一个线程,专门接受客户端发过来的连接;
另一个线程, 专门接受 内部服务器的消息。


求有经验牛牛们,讲解哈子!! 谢谢
...全文
216 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zilaishuichina 2013-01-07
  • 打赏
  • 举报
回复
引用 6 楼 hubaolin 的回复:
引用 5 楼 zhao4zhong1 的回复:引用 2 楼 hubaolin 的回复:引用 1 楼 zhao4zhong1 的回复:←网← →关→ 意思就是至少有四个线程分别管两端的收发(使用同步Socket时)。 那在问下,如果 一个线程收到内部服务器的消息,需要转发给客户端。 发给客户端是另一个线程。。如何收到内部服消息后。投递到这个发送客户端的消息中……
看你怎么处理消息队列的了 你如果是 锁 { 处理队列中的第一个消息结构 发送消息 删掉这个消息 } 这样显然有效率问题 锁 { 从队列取一个消息pop出来 } 处理消息 发送消息 这样对效率的影响不大,因为你处理消息再发所要消耗的时间应该是要远大于从一个队列pop一个结点的时间的
大大啊 2013-01-06
  • 打赏
  • 举报
回复
引用 5 楼 zhao4zhong1 的回复:
引用 2 楼 hubaolin 的回复:引用 1 楼 zhao4zhong1 的回复:←网← →关→ 意思就是至少有四个线程分别管两端的收发(使用同步Socket时)。
那在问下,如果 一个线程收到内部服务器的消息,需要转发给客户端。 发给客户端是另一个线程。。如何收到内部服消息后。投递到这个发送客户端的消息中?? 难道采用共享变量吗?如果这样会又出现解锁加锁,很存在效率问题吗??
赵4老师 2013-01-05
  • 打赏
  • 举报
回复
引用 2 楼 hubaolin 的回复:
引用 1 楼 zhao4zhong1 的回复:←网← →关→
意思就是至少有四个线程分别管两端的收发(使用同步Socket时)。
一叶之舟 2013-01-05
  • 打赏
  • 举报
回复
客户端请求————>网关转发--->服务器 客户端回应<————网关<---服务器回应
zilaishuichina 2013-01-05
  • 打赏
  • 举报
回复
我们之前的是没有按消息是谁发来的做区分,就一个消息队列,按消息类型区分这个消息是给谁的,多线程的处理这个消息队列,往外发的加密,往内发的解密
大大啊 2013-01-05
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
←网← →关→
赵4老师 2013-01-05
  • 打赏
  • 举报
回复
←网← →关→

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧