| 动态域名可以做什么? | ||||||||||||||||||||||||||||||||||||||||||||||||
动态域名当前主要应用在路由器、网络摄像机、带网络监控的硬盘录像机、视频采集卡、企业管理ERP软件、SF软件服务端以及其他所有需要进行网络远程访问的应用中。其目的是建立网络服务,如WEB服务、FTP服务、网络视频流服务等等。有了动态域名,我们会发现自己可以拥有自己的WEB服务器、FTP服务器、Email服务器。而且还完全掌握控制自己的服务器,而不必担心由于服务器托管造成关键数据的不安全。在电脑普及环境下,个人电脑也可以搭建服务器。特别是当今网络远程实时观看设备的发展,极大地促进了动态域名的应用。 |
||||||||||||||||||||||||||||||||||||||||||||||||
| 指令键值对的定义解析 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 键值对之间用&分隔 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 键值对的构成是键名(key)以及索引的对象键值(value) | ||||||||||||||||||||||||||||||||||||||||||||||||
| 包类型简称 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||
| 包键值简称 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||
| 发送登录指令例子(有键值对):pt:ls&an:66061.iotlink.ip71.cn&ap:4512 | ||||||||||||||||||||||||||||||||||||||||||||||||
| pt为包类型(Packet Type) | ||||||||||||||||||||||||||||||||||||||||||||||||
| ls为登录到服务器(Login Server) | ||||||||||||||||||||||||||||||||||||||||||||||||
| an为账号名(Account Name) | ||||||||||||||||||||||||||||||||||||||||||||||||
| ap为账号密码(Account Password) | ||||||||||||||||||||||||||||||||||||||||||||||||
| 接收登录指令例子(只有键值):ls&ok&120&sw989a1r | ||||||||||||||||||||||||||||||||||||||||||||||||
| ls为登录到服务器(Login Server) | ||||||||||||||||||||||||||||||||||||||||||||||||
| ok为成功 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 120为心跳包间隔时间 | ||||||||||||||||||||||||||||||||||||||||||||||||
| sw989a1r为登录令牌值(每次登录都不一样) | ||||||||||||||||||||||||||||||||||||||||||||||||
| 发送心跳指令例子(有键值对):pt:sh&ps:c& lt:sw989a1r | ||||||||||||||||||||||||||||||||||||||||||||||||
| pt为包类型(Packet Type) | ||||||||||||||||||||||||||||||||||||||||||||||||
| sh为同步心跳(Sync Heartbeat) | ||||||||||||||||||||||||||||||||||||||||||||||||
| ps为数据包序列(Packet Sequence) | ||||||||||||||||||||||||||||||||||||||||||||||||
| c为数据包序列值(每次登录都不一样) | ||||||||||||||||||||||||||||||||||||||||||||||||
| lt为登录令牌(Login Token) | ||||||||||||||||||||||||||||||||||||||||||||||||
| sw989a1r为登录令牌值(每次登录都不一样) | ||||||||||||||||||||||||||||||||||||||||||||||||
| 接收心跳指令例子(只有键值):sh&ok&113.116.51.62 | ||||||||||||||||||||||||||||||||||||||||||||||||
| sh为同步心跳(Sync Heartbeat) | ||||||||||||||||||||||||||||||||||||||||||||||||
| ok为成功 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 113.116.51.62为本机的公网网络IP地址 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 接收登录失败时例子(只有键值):ls&e5 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 接收心跳失败时例子(只有键值):sh&e9 | ||||||||||||||||||||||||||||||||||||||||||||||||
| ls为登录到服务器(Login Server) | ||||||||||||||||||||||||||||||||||||||||||||||||
| sh为同步心跳(Sync Heartbeat) | ||||||||||||||||||||||||||||||||||||||||||||||||
| e1为一般出错 | ||||||||||||||||||||||||||||||||||||||||||||||||
| e2为指令格式不对 | ||||||||||||||||||||||||||||||||||||||||||||||||
| e3为参数出错 | ||||||||||||||||||||||||||||||||||||||||||||||||
| e4为账号名出错 | ||||||||||||||||||||||||||||||||||||||||||||||||
| e5为账号密码出错 | ||||||||||||||||||||||||||||||||||||||||||||||||
| e6为电器设备账号名出错 | ||||||||||||||||||||||||||||||||||||||||||||||||
| e7为账号访问码出错 | ||||||||||||||||||||||||||||||||||||||||||||||||
| e9为登录令牌或访问令牌出错 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 服务器ip地址和服务器端口来源:113.87.90.13:6211 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 1.打开电脑的命令提示符,然后输入“ping i.ip71.cn”,按回车键,得到服务器的地址113.87.90.13 | ||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||
| 2.然后输入“ping p.ip71.cn”,按回车键,得到一个数组 | ||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||
| 3.将数组的67和24分别转成十六进制的数值,得到43和18,再把43和18组成一个十六进制的数1843,最后把十六进制的1843转 成十进制的数值,就能得出端口为6211。 | ||||||||||||||||||||||||||||||||||||||||||||||||
| OpenDdns的使用 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 1.打开电脑的命令提示符,找到“OpenDdns.exe”保存的路径,然后输入域名的账号和密码,按回车键发送登录信息 | ||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||
| 2.得到服务器返回的登录结果,还有本机的网络IP地址 | ||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||
| 3.OpenDdns.c的例子,点击参看 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
int main(int argc, char* argv[]) { WSADATA wSAData; uint32_t svrIp; uint16_t svrPort; SOCKET udp; uint8_t* ip = (uint8_t*)&svrIp; if (WSAStartup(0x0101, &wSAData) != 0) { // 初始化网络 printf("初始化网络出错\r\n"); return 1; } if (!getServerIp(&svrIp, &svrPort)) { // 获取物链域名服务器IP printf("获取物链域名服务器IP出错\r\n"); return 1; } printf("获取物链域名服务器IP(%d.%d.%d.%d:%d)成功\r\n", ip[0], ip[1], ip[2], ip[3], svrPort); if (argc < 3) { // 没有输入域名账号名及密码 printf("没有输入域名账号名及密码,至少需要3个参数,现在只有%d个参数\r\n", argc); return 1; } udp = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); // 创建必要网络参数 if (udp != SOCKET_ERROR) { //创建必要网络参数 uint32_t time; char token[16]; SOCKADDR_IN addr = { 0 }; addr.sin_family = AF_INET; addr.sin_addr.s_addr = svrIp; addr.sin_port = htons(svrPort); if (LoginToServer(udp, &addr, argv[1], argv[2], token, &time)) { char outIp[16]; printf("登录物链域名服务器(token:%s 间隔时间:%d秒)成功\r\n", token, time); if (SyncHeartbeat(udp, &addr, token, outIp)) { printf("获得本机的网络IP为:%s\r\n", outIp); } } WSACleanup(); return 0; } WSACleanup(); return 1; } |
|
粤ICP备05035725号丨2002-2023深圳市酷唱科技有限公司 版权所有 |
||