找回密码
 加入
搜索
查看: 2119|回复: 6

有关IP获取和通信的问题,高手来看下

[复制链接]
发表于 2009-4-9 15:52:00 | 显示全部楼层 |阅读模式
个人对于网络方面的了解仅限于原来看过的书本的某些理论,虽然也知道公网和内网的差别,但是说实话概念非常的模糊

几天前心血来潮想写一个简单的网络文件发送来试试手,结果遇到了一个怎么也解决不了的问题,所以来请各位高手看一下
TCPStartup()
msgbox(0,"用于得到自己的IP地址",TCPNameToIP(@ComputerName))
以及
#include <INet.au3>
_GetIP ( )
这两种获取IP的方式有什么不同?

我用这两种IP得到了两个不同的IP地址,但是不论用哪个进行通信都不行。。。请问这是什么原因

多谢提醒,查了资料,过NAT会发生IP的转换,所以不能简单的进行通信

[ 本帖最后由 fhmily 于 2009-4-10 11:01 编辑 ]
发表于 2009-4-9 18:44:22 | 显示全部楼层
TCPNameToIP 是将域名转换为IP地址,不能用@ComputerName。
_GetIP 是获取本机的公网IP。
发表于 2009-4-9 18:46:55 | 显示全部楼层
额,仔细看了一下,TCPNameToIP是可以用计算机名的,返回是的内网IP。
 楼主| 发表于 2009-4-9 19:03:19 | 显示全部楼层
原帖由 sensel 于 2009-4-9 18:46 发表
额,仔细看了一下,TCPNameToIP是可以用计算机名的,返回是的内网IP。


我估计应该是

不过现在就有另外一个问题了,像这种内网和外网IP的机器,外部需要跟其通信的时候是连接到外网IP对么?

那天我试验的时候不论外面发送信息到哪个IP,我这里好像都无法接受到

情况这个怎么处理啊?有谁能给个例子么?
发表于 2009-4-9 19:46:41 | 显示全部楼层
[au3];SERVER!! Start Me First !!!!!!!!!!!!!!!
;这个是帮助文件里的例子
$g_IP = "127.0.0.1";把这里改成"0.0.0.0"

; Start The TCP Services
;==============================================
TCPStartUp()

; Create a Listening "SOCKET"
;==============================================
$MainSocket = TCPListen($g_IP, 65432,  100 )
If $MainSocket = -1 Then Exit

;  look for client connection
;--------------------
While 1
$ConnectedSocket = TCPAccept( $MainSocket)
If $ConnectedSocket >= 0 Then
    msgbox(0,"","my server - Client Connected")
    exit
EndIf
Wend
[/au3]
 楼主| 发表于 2009-4-9 20:52:59 | 显示全部楼层
楼上的方法还是没有办法进行外网和内网的通信

连接端的code如下
;CLIENT!!!!!!!! Start SERVER First... dummy!!
#include <INet.au3>
$g_IP=_GetIP ( ) ;如果是内网地址@IPAddress1的话server端就会有反应

; Start The TCP Services
;==============================================
TCPStartUp()

; Connect to a Listening "SOCKET"
;==============================================
$socket = TCPConnect( $g_IP, 65432 )
If $socket = -1 Then Exit

TCPCloseSocket($socket)
发表于 2009-4-9 23:40:29 | 显示全部楼层
网上查阅
防火墙&NAT
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-6 14:00 , Processed in 0.073593 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表