精华内容
下载资源
问答
  • 6.连接成功后返回功能模块选择列表,点击“参数设置”进入通讯相关参数配置页面(首先进入驱动配置页面),目前驱动库中只有支持Modbus TCP的驱动,后续会持续更新,用户通过在驱动库列表中长按操作将选中的驱动挑选...
  • tcp穿透两个局域网连接

    千次阅读 2019-08-27 02:19:31
    使用TCP协议的NAT穿透技术 其实很早我就已经实现了使用TCP协议穿透NAT了,但是苦于一直没有时间,所以没有写出来,现在终于放假有一点空闲,于是写出来共享之。 一直以来,说起NAT穿透,很多人都会被告知使用...

     

    使用TCP协议的NAT穿透技术

        其实很早我就已经实现了使用TCP协议穿透NAT了,但是苦于一直没有时间,所以没有写出来,现在终于放假有一点空闲,于是写出来共享之。


        一直以来,说起NAT穿透,很多人都会被告知使用UDP打孔这个技术,基本上没有人会告诉你如何使用TCP协议去穿透(甚至有的人会直接告诉你TCP协议是无法实现穿透的)。但是,众所周知的是,UDP是一个无连接的数据报协议,使用它就必须自己维护收发数据包的完整性,这常常会大大增加程序的复杂度,而且一些程序由于某些原因,必须使用TCP协议,这样就常常令一些开发TCP网络程序的人员“谈穿透色变”。那么,使用TCP协议是不是就不能实现穿透呢?答案当然是否定的:TCP协议不仅能实现NAT穿透,而且实现起来比UDP穿透甚至还简单一些。 


        要了解如何使用TCP穿透NAT,就要首先看看如何使用UDP穿透NAT。 
        我们假设在两个不同的局域网后面分别有2台客户机A和 B,AB所在的局域网都分别通过一个路由器接入互联网。互联网上有一台服务器S。 


        现在AB是无法直接和对方发送信息的,AB都不知道对方在互联网上真正的IP和端口, AB所在的局域网的路由器只允许内部向外主动发送的信息通过。对于B直接发送给A的路由器的消息,路由会认为其“不被信任”而直接丢弃。 


        要实现 AB直接的通讯,就必须进行以下3步:A首先连接互联网上的服务器S并发送一条消息(对于UDP这种无连接的协议其实直接初始会话发送消息即可),这样S就获取了A在互联网上的实际终端(发送消息的IP和端口号)。接着 B也进行同样的步骤,S就知道了AB在互联网上的终端(这就是“打洞”)。接着S分别告诉A和B对方客户端在互联网上的实际终端,也即S告诉A客户B的会话终端,S告诉B客户A的会话终端。这样,在AB都知道了对方的实际终端之后,就可以直接通过实际终端发送消息了(因为先前双方都向外发送过消息,路由上已经有允许数据进出的消息通道)。


        用UDP来实现以上3步不存在什么理论上的问题,因为UDP是无连接的协议,它允许socket进行“多对一”的通讯(即几个具有不同IP和端口号的socket向一个接收socket发送消息)。但是使用TCP就出现了问题:在一般情况下,TCP socket不允许在已经建立连接的端口上再进行监听和使用该本地端口。换句话说,当AB连接上服务器S后,S将AB的实际终端告诉对方,下一步本该是AB利用对方的实际终端进行直连,但这时你会发现对方的实际终端已经被占用了(就是各自连接到服务器S的会话占用了终端),无法同时listen和 connect。于是很多人得出结论:TCP无法实现NAT穿透。 


        于是问题的关键变成了如何复用一个TCP连接的本地终端,这其实不是协议的问题,而是一个API的问题。幸运的是,所有主流操作系统都支持一个特定的TCP套接字选项——SO_REUSEADDR。这个选项允许将多个socket绑定到同一个本地终端。我们建立socket的时候只要加上这么一行:

    setsockopt(socket, SOL_SOCKET, SO_REUSEADDR, &flag, len) ;   //C++就这么做

     

    _Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, True)  '这是vb.net 更加简单


        知道上面的知识就很好办了,下面我来说说TCP协议的穿透流程: 
        机器布局还是和上面使用UDP的一样。现在假设客户A想和客户B建立TCP连接。 
    首先还是 AB分别和服务器S分别建立连接,S记录AB的互联网实际终端。然后S分别向AB发送对方的实际终端。接着,从A和B向S连接时使用的端口,AB都异步调用connect函数连接对方的实际终端(就是S告诉的终端),同时,AB双方都在同一个本地端口监听到来的连接(也可以先监听,再connect更好)。由于双方都向对方发送了connect请求(假设各自的SYN封包已经穿过了自己的NAT),因此在对方connect请求到达本地的监听端口时,路由器会认为这个请求是刚刚那个connect会话的一部分,是已经被许可的,本地监听端口就会用SYN-ACK响应,同意连接。这样,TCP穿透NAT的点对点连接就成功了。

    下面是示例代码下载,VB.NET代码,演示如何用TCP协议穿透NAT实现文件传送,请用vs2005打开解决方案

    http://dl2.csdn.net/down4/20070724/24133943521.rar 

    代码中有一个我自己封装的模仿vb6 winsock的控件ZXMSocket,这个socket可以让你设置是否使用SO_REUSEADDR参数,socket是事件驱动的。

    如果你要测试代码,需要使用一个bat来启动发送和接收程序(文件格式请参照bin/Debug文件夹下的run.bat文件),这个bat的功能是以命令行的方式告诉程序登录服务器缩使用的用户名,对于服务器来说,这个用户名必须是唯一的,当然,这可能有点不科学,但是这毕竟只是一个demo。

     

    展开全文
  • xp系统下载SyGate安装好后,不能马上就使用,还必须对局域网内各机器的TCP/IP协议进行一些设定。下面是具体的设置过程,感兴趣的朋友可以参考下
  • 前言:esp8266模块和手机通过路由器组建局域网进行tcp通信,esp8266模块设置为客户端,手机端设置为服务器端,路由器为网关,esp8266模块和手机同时接入在一个路由下进行通信。这样的好处是,手机不需要每次连接esp...

    二、esp8266+手机端同处一个路由器下组成局域网进行

    tcp通信的工作模式设定方法

     

    前言:esp8266模块和手机通过路由器组建局域网进行tcp通信,esp8266模块设置为客户端,手机端设置为服务器端,路由器为网关,esp8266模块和手机同时接入在一个路由下进行通信。这样的好处是,手机不需要每次连接esp8266模块产生的WIFI,而是手机直接连接路由器,不影响手机正常上网。

     

    设置步骤及用到的AT命令有:

     

    AT+CWMODE=1    //设置为STA

    AT+RST        //重启

    AT+CWJAP="TP-LINK_5D3BDE","saibei216216"    //搜索并连接路由器,第一个引号内容为路由器名,第二个引号内容为密码

     

    //再打开手机有人网络助手,TCP server——端口号8080,记住手机产生的本地IP,//下面模块作为tcp client进行连接手机tcp server要用。

    AT+CIPMODE=1    //透传

    AT+CIPMUX=0    //单路模式

    AT+CIPSTART="TCP","192.168.1.112",8080    //刚才记下的手机IP和端口号

    AT+CIPSEND    //进入透传

     

    通过上述操作即可完成esp8266+手机端同处一个路由器下组成局域网进行tcp通信工作的模式设定了。

     

    通信实测效果附图:

    手机端(wifi模块与手机端的tcp通信):

     

     

     

     

     

    8266模块-客户端(手机与wifi模块建立tcp通信,且wifi模块通过串口把收到的信息发送到电脑上的串口调试助手进行显示观测):

     

     

    模块和手机同处在实验室路由器下,热点名称TP-LINK_5D3BDE:

    说明:上面有些命令是不需要重复配置的,掉电重启,命令依然保留。所以代码中不需要配置上述所有命令,只需要配置上电重启会丢失的命令。

     

    具体命令所对应的意思,及哪些命令会保留,或掉电会失效,可以参考帮助文档:ATK-ESP8266 WIFI用户手册及ESP8266系列入门教程文档。

    展开全文
  • 本文以esp8266作为STA,以手机WIFI作为AP,电脑端用网络调试助手与esp8266共同连接至手机WIFI并建立TCP连接,操作步骤与我在另一篇博文提到的一致。 下面分别以“esp8266作为TCP客户端”和“esp8266作为TCP服务器”...

    本文以esp8266作为STA,以手机WIFI作为AP,电脑端用网络调试助手与esp8266共同连接至手机WIFI并建立TCP连接,操作步骤与我在另一篇博文提到的一致。

    下面分别以“esp8266作为TCP客户端”和“esp8266作为TCP服务器”两种情况进行实验示范:

    准备工具
    USB转TTL、
    esp8266模块、
    串口调试助手、
    网络调试助手、

    一、esp8266作为TCP客户端

    1、设置工作模式&连接热点

    通过串口发送AT指令来设置esp8266的工作模式,并连接手机WIFI热点。
    这里我们设置为STA模式。(电脑端也记得连上手机热点)(网线建议拔掉)
    初始化配置

    2、建立TCP连接

    这里我们让esp8266作为TCP客户端,电脑端的网络调试助手作为TCP服务器。
    于是,我们要先打开网络调试助手并建立一个TCP服务器。其中,端口号自行设置,(ip地址的话,软件会自动根据电脑的WIFI情况帮你填好,无法人为更改)
    网络调试助手
    紧接着,我们将esp8266连接至网络调试助手建立的服务器上,即建立TCP连接。模块返回连接成功,同时可以看见网络调试助手上显示客户端上线。(注意ip和端口号填写正确,否则无法正确连接)
    在这里插入图片描述

    3、进入透传模式&开始透传

    TCP连接建立之后,就可以进入透传模式,进行数据传输了。
    指令发送完成后,当模块返回>,说明透传开始,接下来由串口助手发送出的数据将不再被认为是AT指令,而会被当作是纯数据,并通过TCP传送到网络助手上。
    开始透传
    我们通过串口向网络调试助手发送“This is a message!”数据,可以看到网络助手原封不动的收到了数据。由于是透传模式,此时如果我们发送“AT”,会被当做是数据发送给网络助手,而并不是指令。

    所以,可以看到,网络助手收到“AT”这个数据,而串口调试助手中,并没有反馈OK,也没有将我们发送的“This is a message!”和“AT”显示出来,再次表明当前是透传模式。

    (同时要注意,从本文开始至此,我们的串口调试助手发送数据时都是勾选“发送新行”的)
    开始透传数据

    4、退出透传

    当数据发送完了,不想再发送数据了,则通过发送+++退出透传模式。此时,请注意,先取消勾选“发送新行”,再发送+++
    发送+++发送+++后,可以看见串口助手和网络助手均无任何反馈,如上图。

    紧接着,我们再次勾选“发送新行”,并通过串口发送AT,可以看到模块返回OK,说明模块退出透传模式,AT被当成了指令而不是数据。如下图:
    成功退出透传
    于是,模块成功退出透传模式。至此,我们就完成了TCP通信的简单实验。

    .
    .
    .

    二、esp8266作为TCP服务器

    下面我们来讲解esp8266作为TCP服务器的情况,相关步骤与上面“esp8266作为TCP客户端”时相似,有细微差别。

    1、设置工作模式&连接热点

    与上面提到的相同,这里略过不讲。

    二、建立TCP连接

    这里我们让esp8266作为TCP服务器,电脑端的网络调试助手作为TCP客户端。
    所以,这一次网络调试助手要建立一个TCP客户端,以便稍后连接至esp8266建立的TCP服务器。

    那么,网络调试助手的客户端参数(ip地址和端口号)怎么设置呢?该设置成多少呢?为了解决这个问题,我们先不忙着操作我们的网络助手,先操作esp8266。

    通过AT指令,我们设置8266为多连接模式(因为我们要让其作为服务器,服务器需满足供多个设备连接的要求,所以是多连接),同时,我们配置8266的端口号(自行定义)。而8266建立的TCP服务器的ip地址,我们通过AT+CIPSTA_CUR?指令查得,返回数据的第一个ip则为我们要的。
    esp8266建立TCP服务器

    TCP服务器建立好之后,接下来我们就用网络助手作为客户端连接,客户端的参数为8266设置的端口号和其ip。连接成功后,模块返回CONNECT。
    TCP连接建立

    3、透传

    8266作为服务器时,不能开启透传模式(并不等于不能透传),我们需要通过AT+CIPSEND=<>,<>指令完成数据的传输,其第一个参数为ID号,即要发送数据给连接此服务器的第几个客户端(注意到CONNECT前的0了吗?),第二个参数为数据长度。注意,编号是从0开始的。
    透传
    大概就是这样。

    P.S. 类似的,其实在上一个模式,当esp8266作为客户端时,也可以使用AT+CIPSEND=<>指令实现透传(注意此时只有一个参数,即数据长度),由于不用选择客户端,所以只有一个参数。

    以上就是本实验的基本内容,再进一步的,与外网建立TCP连接,也是相似的步骤,就不再赘述。

    展开全文
  • 局域网TCP、Http和scoket

    千次阅读 2014-07-29 15:14:15
    Apache-Tomcat负载平衡配置方法 为了提高系统的高可用性及系统性能,我们常常会用到负载平衡,下面我们介绍一个经常用到的架构,使用Apache对Tomcat进行负载平衡的方法。 系统架构图如下:  图1:系统架构图  ...

    局域网

     

    1.  定义:功能新定义(外界行为和服务),技术性定义(够成LAN所需物质基础和构成方法)

    1.1 局域网的类型很多,若按网络使用的传输介质分类,可分为有线网和无线网;

    1.2 若按网络拓扑结构分类,可分为总线型、星型、环型、树型、混合型等;

    1.3 若按传输介质所使用的访问控制方法分类,又可分为以太网、令牌环网、FDDI网和无线局域网等。

    其中,以太网是当前应用最普遍的局域网技术。

     

    TCPHttpscoket

     

    1.  TCP连接,建立起一个TCP连接需要三次握手

    1.1 客户端发送synsyn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

    1.2 服务器接到syn包,必需确认客户的SYNack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

    1.3 客户端接收到服务器的SYN+ACK包,向服务器发送确认包ACKack=k+1),发完进入ESTABLISHED状态,完成握手。

    1.4 握手状态中不包含数据,完毕后才开始传送数据,服务器和客户端均可以主动发起断开TCP请求。

    2Http协议(超文本传送协议),是建立在TCP协议之上的一种应用

    2.1 显著特点客户端发送的请求都需要服务器回送响应,请求结束后,会主动释放连接。

    2.2 一次连接中可处理多个请求,且多个请求可重叠进行,不需要等待一个请求结束后再发送下一个请求。

    2.3 短连接,需要发送‘保持连接‘的请求,对客户给予回复,服务器若长时间无法收到客户端请求则认为客户端‘下线’,若客户端长时间无法接收到服务器回复,则认为网络断开。

    3Scoket连接

    3.1 原理:套接字(scoket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地经常地协议端口,远程主机的IP地址,远程进程的协议端口。

       应用层可以和传输层通过Scoket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。

    3.2 建立Scoket连接至少需要一堆套接字,其中一个运行于客户端CLientServer,另一个运行于服务器端,称为ServerScoket。套接字连接过程分为三步骤:服务器监听、客户端请求、连接确认。

    4Webservice一个平台独立的,松耦合的,自包含的、基于可编程web的应用程序,可使用开放的XML标准描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。

    4.1 xml web上传送数据的伟大方式

    4.2 soap使用xml消息调用远程方法,这样webservices可以通过HTTP协议postget方法与远程机器交互,而且,SOAP更加健壮和灵活易用。

    其他像UDDIWSDL技术与XMLSOAP技术紧密结合用于服务发现。

    4.3 soap简单对象访问协议,SOAP规范定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAPSOAP也是基于XMLXSD的,XMLSOAP的数据编码方式。

    4.4 Web service描述语言(WSDL)就是这样一个基于XML的语言,用于描述Web service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应Web service的代码。

     

     

    展开全文
  • esp8266+手机端同处一个路由器下组成局域网进行tcp通信的工作模式设定方法 前言:esp8266模块和手机通过路由器(局域网)通信,模块设置为客户端,路由器设置为服务器端,模块和手机同时接入在一个路由下进行通信...
  • 通过实验学习局域网接入 Internet 时的 TCP/IP 属性的设置 2. 掌握 ping ipconfig 等命令的使用 3. 熟悉使用相关命令测试和验证 TCP/IP 配置的正确性及网络的连通 性 二实验要求 1. 设备要求计算机 2 台以上装有 ...
  • 将自己的Win电脑配置为服务器,并通过自己的手机访问 1.开启IIS服务,并添加站点,设置服务器的存储目录(存储的东西放在哪里) 2. 在win上配置Apache软件, 需要对 端口号(cmd httpd.exe -k install -n ...
  • 两台PC,A和B,分别处于不同的局域网中,均通过路由器上网,假设A作为服务端,B作为客户端 要如何设置端口映射?网上搜了一下,大多数意见表示, 1.PC A 只能是公网,也就是直接使用ADSL拨号上网,再映射端口,PC B ...
  • Kali Linux-MSF远控局域网手机

    万次阅读 多人点赞 2020-02-23 21:41:33
    本文目的:演示如何借助Kali Linux系统的Metasploit渗透测试框架生成远程控制木马,然后感染局域网内的Android手机,从而实现对受害者手机数据的读取、音频的窃听、位置的获取、软件安装或卸载等。 环境说明 ...
  • 局域网的通信原理: 在局域网中,同一个网段下的不同机器可以互相通信,ip不能重复。 网关(gateway): 在局域网中,交换机的ip地址被称为网关,这里的是192.168.xxx.xxx 子网掩码(netmask):用于计算网段 , 网关...
  • TCP/IP协议配置及Windows网络实用程序的应用 1、掌握安装/卸载TCP/IP协议的方法 2、掌握查看TCP/IP配置信息的方法 ...3、掌握配置TCP/IP配置信息的方法 4、掌握利用Ping实用程序测试网络连通性和检测网络故障的方法。
  • TCP/IP协议配置

    2021-02-09 19:44:40
    TCP/IP协议配置TCP/IP协议配置IP地址子网掩码默认网关DNS服务器 以Windows Server 2003为例,简单介绍TCP/IP协议配置各编辑项的内容 TCP/IP协议配置 TCP/IP(Transmission Control Protocol/Internet Protocol,...
  • 1.把一个8266作为服务端,其他的多个8266或者其他设备(手机、PC等)作为客户端,建立一个TCP网络 2.用8266建立热点让其他设备进行连接 3.具体操作实现: a. 建立8266wifi(热点)并设置wifi密码 b. 设置端口号...
  • 一, 服务器配置NTP服务 1,启用NTP服务器的功能。运行regedit,打开注册表,修改键值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time \TimeProviders\NtpServer内的Enabled设定为1 2,强制主机将其...
  • 之前,我曾做过在局域网下进行通信的东西。(主要是我发现没有办法把那个东西用在不同的局域网的两台电脑)。心里一直想实现一个能在广域网上能通信的东西!所以就有这个小项目! 实现思路: 技术概念 使用方法...
  • freeSWITCH安装、配置局域网测试

    万次阅读 2017-07-04 10:01:07
    这次来说说 freeSWITCH 的安装、配置和测试
  • (ADDRESS = (PROTOCOL = TCP)(HOST = TPF)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) ) 修改HOST对应的Oracle所在主机IP,端口,实例名 --配置环境变量 NLS...
  • 1.本章主要内容为: 网络和网络协议 tcp/ip的历史 tcp/ip的重要特性 ...确定tcp/ip传输格式和过程的行为由厂商的tcp/ip软件来决定。(这个软件属于操作系统层) 4.tcp/ip的两个重要特性 (...
  • 原因一:防火墙未允许通过 ... ... ...原因二:因为自己TCP、IP的服务未打开 首先根据以上步骤,进入到控制面板主页 然后点击程序 点击启用或关闭Windows功能 找到简单TCPIP服务勾选,并确定即可 ...
  • $ firewall-cmd --zone=public --add-port=6379/tcp --permanent # 重启防火墙 $ firewall--cmd --reload # 建立redis客户端命令的软连接 $ ln -s /usr/local/redis/redis-cli /usr/bin/redis $ redis 127.0.0.1:...
  • 解压到指定文件夹 启动 nginx.exe 停止 nginx.ext -s stop 重新加载配置文件 nginx.exe -s reload 启动访问127.0.0.1 配置虚拟域名,编辑hosts文件,目录C:\Windows\System32...接下来可以配置代理,局域网内..
  • 基于MODBUS-TCP通信的应用于广域网、局域网或单机的数据采集系统,采用C#编程语言实现。适用于标准的modbus-tcp协议,同时适用于西门子Smart200 PLC的数据采集,可通过系统灵活配置所要采集的信息,包括开关量信号、...
  • 局域网聊天室是单服务器端,多个客户端的聊天程序,多个客户端可以通过配置IP和端口号来连接服务器。 利用socket编程,服务器端建立线程套接字,通过绑定监听。 等待客户端的请求,一旦有客户端请求连接则建立连接...
  • Nginx配置-局域网内反向代理服务器

    千次阅读 2019-10-19 18:51:39
    局域网内反向代理服务器 1、下载安装Nginx brew install nginx 2、配置Nginx 1、进入nginx的安装目录,打开nginx.conf文件 cd /usr/local/etc/nginx/ sudo vim nginx.conf 2、进行配置,修改访问端口和服务对应地址...
  • 1、通过局域网发送UDP指令或TCP指令可以控制电脑关机或重启。 2、UDP和TCP端口在配置文件中设置。 3、软件接收到字符串"shut"时,电脑会关机,接收到字符串"restart"时,会重启电脑。 4、执行关机或重启操作时,部分...
  • 什么是局域网 局域网是指某一区域内由多台计算机互相连通组成的计算机组。利用局域网可以在局域内多台计算机设备之间实现文件管理、应用软件共享、邮件互通和局域通信等功能。 局域网组成及举例: 由特定空间...
  • 使用属性QoS策略配置TCP传输

    千次阅读 2018-03-16 11:35:00
    可用于通过DomainParticipant的属性QoS策略配置TCP传输插件的预定义属性。 可用于通过DomainParticipant的属性QoS策略配置TCP传输插件的预定义属性。 属性名称描述需要?dds.transport.load_plugins以逗号分隔的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 74,350
精华内容 29,740
关键字:

局域网配置tcp