动态域名可以做什么? |
动态域名当前主要应用在路由器、网络摄像机、带网络监控的硬盘录像机、视频采集卡、企业管理ERP软件、SF软件服务端以及其他所有需要进行网络远程访问的应用中。其目的是建立网络服务,如WEB服务、FTP服务、网络视频流服务等等。有了动态域名,我们会发现自己可以拥有自己的WEB服务器、FTP服务器、Email服务器。而且还完全掌握控制自己的服务器,而不必担心由于服务器托管造成关键数据的不安全。在电脑普及环境下,个人电脑也可以搭建服务器。特别是当今网络远程实时观看设备的发展,极大地促进了动态域名的应用。 |
指令键值对的定义解析 |
键值对之间用&分隔 |
键值对的构成是键名(key)以及索引的对象键值(value) |
发送登录指令例子(有键值对):ct:ls&an:66061.iotlink.ip71.cn&pw:4512 |
ct为指令类型(Command Type) |
ls为登录到服务器(Login to Server) |
an为账号(Account Name) |
pw为密码(Pass Word) |
接收登录指令例子(只有键值):ls&ok&120&sw989a1r |
ls为登录到服务器(Login to Server) |
ok为成功 |
120为心跳包间隔时间 |
sw989a1r为登录令牌值(每次登录都不一样) |
发送心跳指令例子(有键值对):ct:sh&ps:c& lt:sw989a1r |
ct为指令类型(Command 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 to 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深圳市酷唱科技有限公司 版权所有 |