请问,哪位对libnet编程非常精通。或者对c的网络编程非常精通进来瞧瞧

q_starry 2003-12-17 06:42:04
我的目标,是实现数据包的转发功能.客户端a发出一个请求给server b,server b经过分析后把数据转发给server c,然后数据经过server c处理直接发给客户端。请问这样一个过程应该怎么实现?一些理论说用包重写不知识怎么实现的。望指点一二!
...全文
28 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
q_starry 2003-12-18
  • 打赏
  • 举报
回复
这是web 服务实现集群的一种很好的方法。理论是这么写的。http://citeseer.nj.nec.com/509.html,我想很多人也已经实现了。
warton() 能不能讲讲协议的具体实现方法?
pp616 2003-12-18
  • 打赏
  • 举报
回复
看了你的要求。说点看法。

client用的http 那么通讯协议应该是TCP
client 和 serverB建立连接并交换数据
serverB 和 serverC建立连接并交换数据
上面都没问题。问题在serverC 要和 client交换数据
但是
client只是和serverB建立了TCP连接。和client所有的数据交换都只能通过TCP连接进行。
serverC不可能主动去连接client,如何交换数据???

我觉得设计思路上就出了问题。
我个人认为应该如此
serverB责接收client的http请求,然后把请求发送给serverC,所有的数据处理在serverC上进行,然后serverC把client需要的数据发送给serverB,再由serverB把数据发送给client。

要么你就装平衡器,能让client直接连接到serverC上。
但是具体的东西不太清楚。帮不了你了。
q_starry 2003-12-17
  • 打赏
  • 举报
回复
现在这个问题比较棘手,原先用java做了一个后端的servlet server.
但是没有找到集群的最好实现方法。只好来这里求助于c来实现了。
如果各位哪位集群比较有研究,也请多多指教。
现在我的想法是用c写一个负载均衡器
客户端的http请求,即一个socket被发送到server b.server b分析这个请求,
找到一个合适的servelt server即server C 进行处理,处理以后不经过server b
直接把数据发给客户端。所以有了以上的问题。
q_starry 2003-12-17
  • 打赏
  • 举报
回复
TCP实现不了?

我的意思是c中能不能直接写IP数据包首部,
就是B在转发数据的时候,来源IP重写,把来源的IP写成客户A端的IP?而不是B端的IP.
而c端会把这个数据包当作时客户A端直接传过来的?把处理的结果直接发给A端接收
有没有方法可实现这种欺骗?如果有的话最好能给个例子。万分感谢

除了硬件实现以外,c有没有提供这种解决方案?
cac 2003-12-17
  • 打赏
  • 举报
回复
不理解,这不是很简单的东西吗?
shadowstar 2003-12-17
  • 打赏
  • 举报
回复
如果用UDP的话还可以,用TCP不可能c--->a。
warton 2003-12-17
  • 打赏
  • 举报
回复
b、c上都要写一个服务端程序来监听。自定协议,b分析发来的请求,如果是转发数据的请求就给c转发相应的数据。

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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