急~~请问如何知道一台机器是拨号上网还是通过局域网网关上网?(100分)

  • 主题发起人 主题发起人 不困
  • 开始时间 开始时间

不困

Unregistered / Unconfirmed
GUEST, unregistred user!
现UDP通讯软件设计如下:
服务器端开设端口:10000(发送)、10001(接收)
客户端开设端口:9000(发送)、9050(接受)

拨号上网:
服务器端在得到客户端发送的UDP包中取到FromIP和FromPort(这里是9000),
发送已接受信息至FromPort+50,
客户端可以接收。。

但局域网内的客户端有点问题,得到的FromIP和FromPort应该是网关的对外IP和
动态分配的一个Port,按照得到的IP和端口发送接收信息,
局域网内的假设IP:192.168.0.2和接收Port:9050的客户端能否接受得到??
有人测试过吗?
如何知道客户端是拨号上网还是通过局域网网关上网?



 
procedure TForm1.Button1Click(Sender: TObject);
var
ConnType: DWORD;
begin
if InternetGetConnectedState(@connType, 0) then
begin
if (ConnType and INTERNET_CONNECTION_MODEM) > 0 then ShowMessage('拨号上网');
if (ConnType and INTERNET_CONNECTION_PROXY) > 0 then ShowMessage('代理上网');
if (ConnType and INTERNET_CONNECTION_LAN) > 0 then ShowMessage('局域网');
end
else ShowMessage('未连接到Internet');
end;
 
接受答案了.
 
后退
顶部