跨越局域网通信(一)

原创 2012年03月26日 09:32:53

         通过ADSL联网的两台主机怎么才能相互通信呢?
         对于一般的ADSL用户来说,通过ADSL联网都是动态IP,即它们的IP地址是不固定的。当它们联上外网,电信给它一个外网IP地址,当它断开后电信会回收此IP地址。重新联网后,电信会根据剩余的IP地址列表给出一个新的外网IP地址。
        在socket通信中,我们都是通过"IP,port"来通信的。为了获得通信主机的实时外网IP地址,我们可以采用动态域名的方式来解决。动态域名的绑定,这里就不在详述了。网上例程很多,而且这也不是本文的重点。以花生壳为例,当通信的主机装上花生壳客户端后,并通过客户端绑定好了动态域名。比如我的动态域名是cloud95.xicp.net, 这时我们通信的客户端可采用以下方式,获得通信主机IP。

 WSADATA wsaData;
 WSAStartup(0x0202, &wsaData); //初始化套接字库
 hostent* host= gethostbyname("cloud95.xicp.net");
 char* pszIP= (char*)inet_ntoa(*(struct in_addr*)(host->h_addr));

       pszIP中就是通信主机的IP地址。如果你的主机是通过路由器联上外网的,那么你还需要在路由器上设置一下端口映射。将你的本机通信端口A映射为外网端口B。socket通信时,就可以用"pszIP,B"来通信了。

一款跨越内网边界的神器

http://sourceforge.net/projects/mocks/ http://sourceforge.net/projects/ssocks/ http://www.80...
  • cnbird2008
  • cnbird2008
  • 2013年10月24日 15:49
  • 1615

windows linux—unix 跨平台通信集成控制系统

首先,我们可以用到这个开源的开发包: 或者是这里: https://github.com/huoyu820125/Micro-Development-Kit...
  • wangyaninglm
  • wangyaninglm
  • 2014年12月15日 09:58
  • 2944

Socket在局域网通信中应用

基本原理:         在Windows网络编程,套接字接口主要有3种类型:流式套接字,数据报套接字和原始套字。流式套接字定义了一种面向连接的服务,实现了无差错无重复的顺序数据传输,无长度限制。数...
  • qq348931837
  • qq348931837
  • 2013年08月18日 16:34
  • 2254

局域网内主机之间Socket通信实现

只能传输文字且只能在局域网内实现通信 主机1: package SocketTest; import java.net.*; import java.io.*; import java....
  • Sara_YF
  • Sara_YF
  • 2016年06月10日 18:48
  • 2271

我的毕业设计论文:基于局域网的通信工具的设计与实现(三)

第6章 测  试测试的目的是为了发现功能是否达到,或者是否有更多的缺陷!这里的缺陷是泛称的,它可以指功能的错误,也可以指性能低下,易用性差等等。测试总是先假设程序中存在缺陷,再通过执行程序来发现并最终...
  • anyue417
  • anyue417
  • 2007年07月08日 10:48
  • 4653

C# 局域网内socket通信 TCP

http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socket.aspx http://msdn.micros...
  • mengfick
  • mengfick
  • 2014年07月27日 19:03
  • 1054

【Unity3D】局域网通信

Network.InitializeServer(int 端口个数,listenPost);
  • u013785119
  • u013785119
  • 2014年10月15日 14:12
  • 1729

android局域网通信( 一)

一 .问题            最近合集游戏上线了,由于不同的盒子电视的遥控器差异性很大,造成我们游戏在操作体验上没法达到一致,所以老大又有一个新的想法,就是做一个手机遥控器,可以控制的我们游戏的...
  • iloster
  • iloster
  • 2015年11月24日 21:26
  • 493

C# 网络编程(1)——C# 简单实现局域网内通信

需求:1、服务器Server:2、客户端Client:3、客户端发送消息到服务器,服务器接收到消息后显示并且发送确认信息。 服务器代码如下所示:using System;using System.Co...
  • rocket5725
  • rocket5725
  • 2009年07月02日 14:30
  • 7543

局域网计算机间进行通信都经历了什么

上图中连线应该是双向箭头,这里就不在进行修改了 局域网中A和B进行通信,可以直接连接网线。但当局域网中计算机比较多的时候呢?都连接网线吗?显然这种做法不太行。由此交换机就应运而生。 局域网间多个计...
  • baidu_32134295
  • baidu_32134295
  • 2017年04月27日 09:22
  • 715
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:跨越局域网通信(一)
举报原因:
原因补充:

(最多只允许输入30个字)