免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3999 | 回复: 7
打印 上一主题 下一主题

客户端怎么用指定的ip协议地址发起连接? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-07-17 16:52 |只看该作者 |倒序浏览
在客户端一般都是由路由选ip地址,系统分配临时端口号。若要是在客户端指定ip协议地址(struct sockaddr里指定ip地址和/或端口号),用bind 绑定后怎么发起连接呀?connect指定的是服务器端的ip和端口号。
     在服务器端可用accept或是getpeername得到客户端的ip和端口号,若是限制必须是某个ip的客户才能连接,怎么指定呀?
     各位大牛指点一二则个。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-07-17 19:29 |只看该作者

客户端怎么用指定的ip协议地址发起连接?

原帖由 "houhuaw" 发表:
在客户端一般都是由路由选ip地址,系统分配临时端口号。若要是在客户端指定ip协议地址(struct sockaddr里指定ip地址和/或端口号),用bind 绑定后怎么发起连接呀?connect指定的是服务器端的ip和端口号。
     在?.........
   
去看unix网络编程第一卷吧!

论坛徽章:
0
3 [报告]
发表于 2003-07-17 19:35 |只看该作者

客户端怎么用指定的ip协议地址发起连接?

客户端在发起连接时,只要知道服务器端的ip地址和端口号就行了,其它的socket会自行处理。
如果要指定某个ip的客户才能连接,可以在服务器端检测客户的ip地址。不是指定ip的,则退出连接。

论坛徽章:
0
4 [报告]
发表于 2003-07-18 10:16 |只看该作者

客户端怎么用指定的ip协议地址发起连接?

kj501对第二个问题的回答很好,第一个谁能给出个注意?

论坛徽章:
0
5 [报告]
发表于 2003-07-18 10:23 |只看该作者

客户端怎么用指定的ip协议地址发起连接?

bind之后connect不就行了。

论坛徽章:
0
6 [报告]
发表于 2003-07-18 10:25 |只看该作者

客户端怎么用指定的ip协议地址发起连接?

我觉得问题一说得不是很清楚

论坛徽章:
0
7 [报告]
发表于 2003-07-18 10:28 |只看该作者

客户端怎么用指定的ip协议地址发起连接?

对,靠这一点我倒忘了,自己被自己迷惑了,呵呵,这么简单的问题我也拿来问,哈哈

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2003-07-18 10:56 |只看该作者

客户端怎么用指定的ip协议地址发起连接?

对于TCP客户程序而言,在connect之前,如果程序不调用bind,那么由系统自动分配一个适合的端口号给给客户进程(一般的该端口号在1-1024以外,每个系统处理略有差别)。如果想置顶一个PORT的话,那么调用Bind。

对于UDP客户程序来说,可以在sendto之前调用bind。解释和TCP是一样的。

对于第二个问题,可以在服务端对来此某个客户的连接做限制,这个限制可以在accept完成以后,限制IP和PORT(例如调用getpeername获得地址限制)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP