大家都来做“系统分析员”,socket网络通信(解决后加更多分)

cjf1009 2005-01-31 09:35:41
本人知识有限,请大家帮我拿个方案,或者讨论一下。
需求:
1、我要做一个clients---中间服务器---服务器center,这样的系统。就是客户提交请求到我这里,我再把请求转发给服务器center。
2、服务器center返回的信息,经过我的中间服务器加工处理后,再通过的我的中间服务器转发给提交申请的用户。
3、类似的系统我要做两个,都是提交一个“服务器center”,但我只有一台“中间服务器”。
4、该系统涉及局域网、广域网和internet。
疑问:
1、由于该系统涉及局域网、广域网和internet,所以我准备采用tcp/ip协议,是否tcp/ip协议就不用管什么路由器、网关什么的了?
2、网络问题:我这台“中间服务器”,既要连接内网,也要连接internet,其中的一个系统的客户端是内网。但我不想内网用户通过这台服务器访问internet,更不想internet通过这台服务器进入我的内网,这样的问题该如何解决?双网卡的方式有什么要注意的地方?
3、我的“中间服务器”收到请求后进行入库、解析、转发等功能,收到“服务器center”的信息后也进行这样的操作,我采用阻塞式(idtcpclient--idtcpserver还是非阻塞式)(socketclient--socketserver)好?还是二者都用?
4、两个系统我想做成两个“中间服务器”端的软件,但都要和“服务器center”通信。能否采用同一个端口?那样会不会容易产生错误?

欢迎大家讨论,分不是问题!
...全文
315 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjf1009 2005-02-03
  • 打赏
  • 举报
回复
谢谢大家回帖,揭贴了。
  • 打赏
  • 举报
回复
zhaoshanmin1981 2005-02-02
  • 打赏
  • 举报
回复
哇.....我也要啊...
herman~~ 2005-02-02
  • 打赏
  • 举报
回复
呵呵,发了没有;
我也要 blueboy83@126.com
Blakhawk 2005-02-02
  • 打赏
  • 举报
回复
我也要;
czchawk@163.com
mxj2000 2005-02-02
  • 打赏
  • 举报
回复
邮件包含一已发布的系统程序,不是病毒,请放心
mxj2000 2005-02-02
  • 打赏
  • 举报
回复
邮件已发出,请查收
mxj2000 2005-02-02
  • 打赏
  • 举报
回复
这两天太忙了,邮件今天发出
cjf1009 2005-02-02
  • 打赏
  • 举报
回复
其实我说的转发,不是什么ip包转发,我接到请求后要进行解析,入库等,
然后在把转换后的请求发送到另一台服务器上去实现。

我的客户连我的服务器,我这里有一项功能就是要把一些数据发送到远程计算机上。
halfdream 2005-02-02
  • 打赏
  • 举报
回复
楼主的目标太模糊,

1,确定你软件面向的应用范围,确定它的抽象层
IP包转发?(把IP包转换后通过TCP链路转发)
TCP转发?(比如,通用的代理服务器?)
特定应用协议转发(消息转发)? .....估计你的程序主要是这方面...
具体应用?(这样中间服务器本身也是一个应用服务器)....但看你的疑问3..又象是它.....

不要贪多,不然就是一团糊了.

2, 从提的问题看,楼主比较少写这些方面程序的经验,很多东西不是在贴子里面几句话能够理解清楚的,
可以先写一些简单些的,易达到的,探索性的东西,就算做出来的东西最后完全丢弃,仅仅为了准确把握需求也值得去做.这样可以大大减少项目风险.

cjf1009 2005-02-02
  • 打赏
  • 举报
回复
谢谢老大指点,研究一下,然后揭贴
Hylas 2005-02-02
  • 打赏
  • 举报
回复
需求:
1、我要做一个clients---中间服务器---服务器center,这样的系统。就是客户提交请求到我这里,我再把请求转发给服务器center。
2、服务器center返回的信息,经过我的中间服务器加工处理后,再通过的我的中间服务器转发给提交申请的用户。
3、类似的系统我要做两个,都是提交一个“服务器center”,但我只有一台“中间服务器”。
4、该系统涉及局域网、广域网和internet。
-----------------------------------------------
再根据需求写个方案(个人观点)
1.搭建一个局域网,对等网。 其中一台电脑拥有独立的ip,不管它是网通上的,还是电信ASDL都不管
关闭这台电脑的没用端口,尤其是那些容易受攻击的端口。局域网的所有电脑分配内网IP:192.168.x.x

2.中间服务器起一个端口(1981),做为服务,至于服务什么内容我就不知道了,是洗脚还是桑拿,
你自己定吧。

3.最后内网连192。168。x.x:1981 ,外网连:IP:1981

4.game over
Hylas 2005-02-02
  • 打赏
  • 举报
回复
感觉楼主的描述太模糊了。
先回答问题。
1、由于该系统涉及局域网、广域网和internet,所以我准备采用tcp/ip协议,是否tcp/ip协议就不用管什么路由器、网关什么的了?
-------------------------------------
只要你的中间服务器有独立IP,那么内网可以与它通信,外网也可以与他通信。所以路由,网关不用去管

2、网络问题:我这台“中间服务器”,既要连接内网,也要连接internet,其中的一个系统的客户端是内网。但我不想内网用户通过这台服务器访问internet,更不想internet通过这台服务器进入我的内网,这样的问题该如何解决?双网卡的方式有什么要注意的地方?
----------------------------------------------------------------------
中间服务器独立上网,与局域网相连接,与客户端是对等关系。 关闭一切服务,和没必要的端口。
这样基本上能满足你的要求。

3、我的“中间服务器”收到请求后进行入库、解析、转发等功能,收到“服务器center”的信息后也进行这样的操作,我采用阻塞式(idtcpclient--idtcpserver还是非阻塞式)(socketclient--socketserver)好?还是二者都用?
----------------------------------------------------------------------------
我认为两个都没关系,主要是由需求决定。 还有你的程序不能太多BUG哦

4、两个系统我想做成两个“中间服务器”端的软件,但都要和“服务器center”通信。能否采用同一个端口?那样会不会容易产生错误?
-----------------------------------------------------------------------------
服务器center 一个或两个都可以,中间服务器 共用一个端口,怎么可能呢?
ly_liuyang 2005-02-01
  • 打赏
  • 举报
回复
感觉就像代理服务器?
当然用TCP的

http://lysoft.7u7.net
cjf1009 2005-02-01
  • 打赏
  • 举报
回复
顶啊,不知是我的题目不吸引人,还是问题说的太复杂了
aiirii 2005-02-01
  • 打赏
  • 举报
回复
4、就是说我的两个程序都在这台机子上,都通过一个端口来与远程的同一台服务器通信,不会产生错误?就像一个程序开了两个一样。

沒有問題的
aiirii 2005-02-01
  • 打赏
  • 举报
回复
>>1、我内网虽经过好多网关,路由什么的,但每个机子都有自己不同的ip地址,和服务器都能ping通。
滿足這個條件, 應該就可了! 那是不用多考慮路由, 網關的!

2、其实我主要更不想internet通过这台服务器进入我的内网,要怎么做?
正常, 你要設置"这台服务器" 的路由轉發, 才會轉發數據的, 要不,
Larry1030 2005-02-01
  • 打赏
  • 举报
回复
麻烦多发一份 Larry1030@21cn.com
谢了
cjf1009 2005-02-01
  • 打赏
  • 举报
回复
To: aiirii(ari-爱的眼睛)
谢谢的老大指点。
1、我内网虽经过好多网关,路由什么的,但每个机子都有自己不同的ip地址,和服务器都能ping通。如果用idtcpclient--idtcpserver或者socketclient--socketserver,直接用ip地址和端口相连,应该就可以通信了吧

2、其实我主要更不想internet通过这台服务器进入我的内网,要怎么做?

3、我还要自己好好研究一下。

4、就是说我的两个程序都在这台机子上,都通过一个端口来与远程的同一台服务器通信,不会产生错误?就像一个程序开了两个一样。
aiirii 2005-02-01
  • 打赏
  • 举报
回复
1、由于该系统涉及局域网、广域网和internet,所以我准备采用tcp/ip协议,是否tcp/ip协议就不用管什么路由器、网关什么的了?

不對! 但也不是想象中那麼復雜!

2、网络问题:我这台“中间服务器”,既要连接内网,也要连接internet,其中的一个系统的客户端是内网。但我不想内网用户通过这台服务器访问internet

這個設置就可以, 默認這台中間的機器, 是不會做路由轉發的, 也就是說, 它不會將未指定的數據轉發給另外一台機器(機器中毒除外)

3、我的“中间服务器”收到请求后进行入库、解析、转发等功能,收到“服务器center”的信息后也进行这样的操作,我采用阻塞式(idtcpclient--idtcpserver还是非阻塞式)(socketclient--socketserver)好?还是二者都用?
看需求, 沒一定好的! 一般, 用多線程阻塞式, 每個線程處理一個請求


4、两个系统我想做成两个“中间服务器”端的软件,但都要和“服务器center”通信。能否采用同一个端口?那样会不会容易产生错误?
可以用同一個服務端口, 不會有問題的!


加载更多回复(18)

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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