在 IIS 中,有两个 FTP 站点,他们是 A站点 和 B站点,
分别绑定 127.0.0.1:21 和 127.0.0.2:21,他们可以一起运行 我估计这两个站点使用同一个 SOCKET 句柄,
我的问题就是,当这个 SOCKET 接收到用户发出的请求时,如何
分辨哪个请求是给 A站点的,哪个给是 B站点的?
解决方案 »
- 1+2+3+....+30=负数?求高手指点错误
- SetWindowLong 的一个问题 大神帮忙看看!
- 求助
- Excel版本引起的问题
- 请问:我要按一下对话框中的按纽如CANCEL,然后转到显示一个单文本框。怎么写程序代码?
- 谁有《COM技术内幕》的随书原码,麻烦发给我。知道下载网址也行。
- masterz帮帮忙兄弟要急死了 howto embed the excel into a activex control!!
- 如何通过USB口连接使两台PC机器通讯,有点急
- 如何在测试 Visual C++ 或 bc++ 程序运行速度(运算时间)
- WM_SETTEXT 消息
- 为什么服务器端的OnAccept()函数不能被触发?!!!!!!
- 如何在坐标是浮点数的两个点之间画一条直线?
redeculous!
每一个socket,绑定一个接口和ip。句柄是唯一的int,不会同时指向2个socket
这不是IIS自己做的吗
而且就像后来说得那样
to: yhqs540(后来)
我没有说一个 SOCKET 句柄绑定两个 IP,
我是说这两个站点共用同一个 SOCKET 句柄。 to: foxmail(萧遥 www.LoveSnow.com)
我就是想知道,IIS 是如何让这样的让两个站点同时运行的,
如果用普通的办法,是无法做到的( APACHE 好像都不行 )。
一个站点是 127.0.0.1:21 另一个是 127.0.0.2:21,
IIS 上的这样两个站点可以同时运行。 找了几个普通的服务器,他们都不行。 我不知道 IIS 是如何办到的。 我猜测在 IIS 上,这样的两个站点实际使用的是同一个 SOCKET 句柄,
再根据用户发出的请求的 IP,分别交给对应的站点处理。 可我想不通,IIS 是如何得到用户发出的请求的 IP?
To: zfive5(醉马Ⅴ)
accept() 获得的是客户的 IP,而不是客户要请求的 IP。 To: awnucel(西大耻犹未雪,南京恨何时灭&抵制日货)
谢绝灌水!
IIS 如果发现某个站点的地址是 127.***.***.***,
他就会将绑定的 IP 设置为 INADDR_ANY。(我猜测的) 我想知道,IIS 如何判断客户请求的是 127.0.0.1 还是 127.0.0.* ?
要判断请求是127.0.0.1还是127.0.0.2也很简单啊. 因为客户发送的ip包中会包含他的目的地址嘛
如果他用两个Socket,就很简单了,而且它也没有必要非用一个Socket呀!
好处是什莫?少使用了一个Socket?
另外,如yhqs540(后来) 所说,好像不可能用一个Socket bind 两个IP
或者你bind一下,把代码列出来你说:
我没有说一个 SOCKET 句柄绑定两个 IP,
我是说这两个站点共用同一个 SOCKET 句柄那两个站点共用同一个 SOCKET 句柄是什莫意思? 不通过bind,怎莫让一个IP+port 与一个Socket联系起来?
To: sxxny(轻云(Srj))
对,我就是这个意思。
但是要如何获取这个客户的目标 IP 地址呢?
create socket
bind
connect() //server ip , port, ... 这里的ip是你在server 端bind的ip+port哪一个。
除此之外还有别的吗?
如果客户端没有发送,服务器端就不可能收到,又怎莫获取目的地址呢?
To: efis(Eagle Flying In Sky)
但 IIS 就做到了。 服务器端绑定的是 INADDR_ANY,客户端连接 127.0.0.1 或 127.0.0.2 都行,
服务器端接收到请求后,如何分辨客户连接的是 127.0.0.1 还是 127.0.0.2 呢?
如果是,那么很简单,本地有域名解析文件(localhost)可以映射绑定的IP地址
To: cattydid(o^o)
不是,仅仅是 IP。