| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 584 人关注过本帖
标题:[求助]请教有关winsock方面的问题
只看楼主 加入收藏
douya1012
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-8-8
收藏
 问题点数:0 回复次数:7 
[求助]请教有关winsock方面的问题

1. 客户端怎样才能知道服务器已经关闭(或者服务器根本没有打开)。

2. 我有winsock控件和winsockAPI获得的都是TCP/IP下的IP地址。是192.168.*.* 可是真实的IP不是它,有什么办法得到真实的IP呢?

搜索更多相关主题的帖子: winsock 
2006-10-09 08:15
学习VB才2天
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1653
专家分:0
注 册:2006-5-4
收藏
得分:0 
1 客户端连接了服务器的正式IP地址如果错误的话.就会一直的发送连接请求.等待服务器的accept()函数.
如果服务器关闭的话 就必须要在客户端设置一个连接超时,如果指定时间内服务器没有回应则自动关闭.
2 如果用API的话就是gethostbyaddr(),gethostbyname()和inet_addr()函数..
Public Declare Function gethostbyaddr Lib "winsock.dll" (addr As Long, ByVal addr_len As Integer, ByVal addr_type As Integer) As Long
Public Declare Function gethostbyname Lib "winsock.dll" (ByVal host_name As String) As Long
Public Declare Function gethostname Lib "winsock.dll" (ByVal host_name As String, ByVal namelen As Integer) As Integer
Public Declare Function getservbyport Lib "winsock.dll" (ByVal Port As Integer, ByVal proto As String) As Long
Public Declare Function getservbyname Lib "winsock.dll" (ByVal serv_name As String, ByVal proto As String) As Long
Public Declare Function getprotobynumber Lib "winsock.dll" (ByVal proto As Integer) As Long
Public Declare Function getprotobyname Lib "winsock.dll" (ByVal proto_name As String) As Long
基本上就是这些获取IP的方法了吧..别的我就没有了....

至于在WINSOCK控件里面都集成化了,是无法获取服务器IP的....
在服务器端可以用 winsock.localip 来知道服务器的IP地址.


如果在连接的情况下服务器短开连接,WINSOCK控件不知道了..就要定时的去连接一下.预防信息丢失...

[GLOW=255,DeepPink,3]我的免费网盘[/GLOW]
2006-10-09 10:28
douya1012
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-8-8
收藏
得分:0 

前几个函数得到的也都是TCP/IP设置里面的IP,那不是我上网用的真实的IP啊。
比如说客户机和服务器不在同一个局域网里怎么办呢?
我想知道INTERNET分配给一台机器的IP是多少。。。


2006-10-09 15:15
学习VB才2天
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1653
专家分:0
注 册:2006-5-4
收藏
得分:0 

进入本论坛的首页 找到最后一块 看到你的IP了吧....


[GLOW=255,DeepPink,3]我的免费网盘[/GLOW]
2006-10-09 17:55
douya1012
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-8-8
收藏
得分:0 
呵呵。。。这招实在高明。。。

可是我自己用VB有什么方法能查到吗?
总不能程序给别人用时,还让人家去找个论坛看看IP吧。。。。

2006-10-10 08:45
学习VB才2天
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1653
专家分:0
注 册:2006-5-4
收藏
得分:0 

只要服务器的IP有了就一切好办了....

检查客户端的IP
在WINSOCK控件中有一个.remotehostip 就是该服务连接的客户IP.....

在局域网中连接外网的时候,路由器会给电脑一个什么  什么头..保证数据的正确传输
这个你倒不用去管了...


[GLOW=255,DeepPink,3]我的免费网盘[/GLOW]
2006-10-10 08:56
douya1012
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-8-8
收藏
得分:0 
可是 偶的问题是这样的。。
偶做了一个服务器,偶必须要把这个服务器的IP告诉给下面的客户端
但偶不知道自己服务器的IP是多少。。
怎么办

2006-10-10 09:53
学习VB才2天
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1653
专家分:0
注 册:2006-5-4
收藏
得分:0 
订购的时候 ISP商会告诉你的

[GLOW=255,DeepPink,3]我的免费网盘[/GLOW]
2006-10-10 11:09
快速回复:[求助]请教有关winsock方面的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015027 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved