当前位置: 首页 > news >正文

门户网站什么意思举例子网站搭建 成都

门户网站什么意思举例子,网站搭建 成都,采购平台,外贸营销网站建设工程一、背景与概念 1.标准以太网 以太网是美国Xerox#xff08;施乐#xff09;公司的Palo Alto研究中心于1975年研制成功的#xff0c;其核心技术起源于ALOHA网。目前以太网是指符合IEEE 802.3标准的局域网(LAN)产品组#xff0c;其中IEEE 802.3是一组电气与电子工程师协会…一、背景与概念 1.标准以太网 以太网是美国Xerox施乐公司的Palo Alto研究中心于1975年研制成功的其核心技术起源于ALOHA网。目前以太网是指符合IEEE 802.3标准的局域网(LAN)产品组其中IEEE 802.3是一组电气与电子工程师协会(IEEE)标准用于定义有线以太网媒体访问控制的物理层和数据链路层说明了配置以太网网络的规则以及各种网络元件如何彼此协作。以太网分为 1.标准以太网早期的10Mbps以太网称之为标准以太网是一种总线型局域网由同轴电缆、网卡网络适配器组成。。 发送和接收数据通过CSMA/CD协议完成流程可以简单概括为四点先听后发边听边发冲突停止延迟重发。 2.总线以太网通过中继器、网桥进行扩展。 中继器Repeater也叫转发器将在传输介质中衰减的信号放大以增加线缆的传输距离。 网桥Bridge又称桥接器是一种存储转发设备。它工作在数据链路层当它收到一个帧时先检查此帧的目的MAC地址然后再确定将该帧转发到哪一个端口。 以太网种类繁多包括基于集线器的以太网基于交换机的以太网等目前已发展到十万兆以太网。。 2.工业以太网 工业以太网一般来讲是指技术上与商用以太网(即IEEE802.3标准)兼容但在产品设计时在材质的选用、产品的强度、适用性以及实时性等方面能满足工业现场的需要。 目前包括4种主要协议HSE、Modbus TCP/IP、ProfINet、Ethernet/IP。 基金会现场总线FF于2000年发布Ethernet规范称HSE(High Speed Ethernet)。 Modbus TCP/IP协议由施耐德公司推出以一种非常简单的方式将Modbus帧嵌入到TCP帧中使Modbus与以太网和TCP/IP结合。 德国西门子于2001年发布了ProfiNet网络方案它是将原有的Profibus与互联网技术结合。ProfiNet采用标准TCP/IP协议加上应用层的RPC/DCOM来完成节点间的通信和网络寻址。 Ethernet/IP是适合工业环境应用的协议体系基于CIP(Controland Information Proto-Col)协议。它是一种是面向对象的协议能够保证网络上隐式(控制)的实时I/O信息和显式信息(包括用于组态、参数设置、诊断等) 的有效传输。 工业以太网设备包括以下几个重要部分 1.工业以太网集线器 2.工业以太网非管理型交换机 3.工业以太网管理型交换机 4.工业以太网管理型冗余交换机 3.TCP/IP协议 上表为网络协议基本功能与协议TCPTransmission Control Protocol协议在传输层IPInternet Protocol协议在网络层。 1.TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。互联网络与单个网络有很大的不同因为互联网络的不同部分可能有截然不同的拓扑结构、带宽、延迟、数据包大小和其他参数。TCP的设计目标是能够动态地适应互联网络的这些特性而且具备面对各种故障时的健壮性。 2.IP协议是网络之间信息传送的协议可将IP信息包从源设备(例如用户的计算机)传送到目的设备(例如某部门的www服务器)。其目的一是解决互联网问题实现大规模、异构网络的互联互通二是分割顶层网络应用和底层网络技术之间的耦合关系以利于两者的独立发展。 3.三次握手四次分手 其中SYN同步序列编号Synchronize Sequence Numbers是TCP/IP建立连接时使用的握手信号。ACKACK (Acknowledge character即是确认字符在数据通信中接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。 FIN_WAITFIN_WAIT_1和FIN_WAIT_2都是表示等待对方的FIN报文。 4. 套接字 应用层和传输层之间是使用套接字来进行分离。套接字包含两个信息连接至远程的本地的端口信息(本机地址和端口号)连接到的远程的端口信息(远程地址和端口号)。 5.TcpClient和TcpListener .NET提供了这两个类将对套接字的编程进行了一个封装。 一般将发起连接的一方称为客户端另一端称为服务端则现在可以得出总是服务端在使用TcpListener类因为它需要建立起一个初始的连接。 IPAddress ip new IPAddress(new byte[] { 127, 0, 0, 1 });TcpListener listener new TcpListener(ip, 8500);listener.Start(); // 开始侦听Console.WriteLine(Start Listening ...);8500端口提供获取服务列表、注册服务、注销服务等HTTP接口提供UI服务使用cmd:netstat -a; 每创建一个新的TcpClient便相当于创建了一个新的套接字Socket去与服务端通信.Net会自动为这个套接字分配一个端口号. 创建TcpClient类型实例时可以在构造函数中指定远程服务器的地址和端口号。这样在创建的同时就会向远程服务端发送一个连接请求“握手”一旦成功则两者间的连接就建立起来了。也可以使用重载的无参数构造函数创建对象然后再调用Connect()方法在Connect()方法中传入远程服务器地址和端口号来与服务器建立连接不管是使用有参数的构造函数与服务器连接或者是通过Connect()方法与服务器建立连接都是同步方法或者说是阻塞的英文叫block。 6.端口通讯 在与服务端的连接建立以后我们就可以通过此连接来发送和接收数据。端口与端口之间以流Stream的形式传输数据因为几乎任何对象都可以保存到流中所以实际上可以在客户端与服务端之间传输任何类型的数据。对客户端来说往流中写入数据即为向服务器传送数据从流中读取数据即为从服务端接收数据。对服务端来说往流中写入数据即为向客户端发送数据从流中读取数据即为从客户端接收数据。 二、示例 1.客户端和服务端建立连接 分别建立两个控制台程序。 class Client{static void Main(string[] args){TcpClient client new TcpClient();try{client.Connect(local, 8500); }catch (Exception ex){Console.WriteLine(ex.Message);return;}Console.WriteLine(Server Connected{0} -- {1},client.Client.LocalEndPoint, client.Client.RemoteEndPoint);}}static void Main(string[] args){Console.WriteLine(Server is running ... );IPAddress ip new IPAddress(new byte[] { 127, 0, 0, 1 });TcpListener listener new TcpListener(ip, 8500);listener.Start(); Console.WriteLine(Start Listening ...);TcpClient remoteClient listener.AcceptTcpClient();Console.WriteLine(Client Connected{0} -- {1},remoteClient.Client.LocalEndPoint, remoteClient.Client.RemoteEndPoint); }结果就不显示了反正都成功了两个应用程序建立了连接。 2.一个客户端发出多个请求 static void Main(string[] args){const int BufferSize 8192; Console.WriteLine(Server is running ... );IPAddress ip new IPAddress(new byte[] { 127, 0, 0, 1 });TcpListener listener new TcpListener(ip, 8500);listener.Start(); Console.WriteLine(Start Listening ...);TcpClient remoteClient listener.AcceptTcpClient();Console.WriteLine(Client Connected{0} -- {1},remoteClient.Client.LocalEndPoint, remoteClient.Client.RemoteEndPoint);NetworkStream streamToClient remoteClient.GetStream();do{byte[] buffer new byte[BufferSize];int bytesRead streamToClient.Read(buffer, 0, BufferSize);Console.WriteLine(Reading data, {0} bytes ..., bytesRead);string msg Encoding.Unicode.GetString(buffer, 0, bytesRead);Console.WriteLine(Received: {0}, msg);} while (true);}class Client{static void Main(string[] args){Console.WriteLine(Client Running ...);TcpClient client;try{client new TcpClient();client.Connect(localhost, 8500); catch (Exception ex){Console.WriteLine(ex.Message);return;}Console.WriteLine(Server Connected{0} -- {1},client.Client.LocalEndPoint, client.Client.RemoteEndPoint);NetworkStream streamToServer client.GetStream();ConsoleKey key;Console.WriteLine(Menu: M - Send, G - Exit);do{key Console.ReadKey(true).Key;if (key ConsoleKey.M){Console.Write(Input the message: );string msg Console.ReadLine();byte[] buffer Encoding.Unicode.GetBytes(msg); streamToServer.Write(buffer, 0, buffer.Length); Console.WriteLine(Sent: {0}, msg);}} while (key ! ConsoleKey.G);//client.Close();}}###3.服务端回传处理过的字符 服务端截取客户端传输的字符串回传给客户端。 static void Main(string[] args){const int BufferSize 8192; ConsoleKey key;Console.WriteLine(Server is running ... );IPAddress ip new IPAddress(new byte[] { 127, 0, 0, 1 });TcpListener listener new TcpListener(ip, 8500);listener.Start(); Console.WriteLine(Start Listening ...);TcpClient remoteClient listener.AcceptTcpClient();Console.WriteLine(Client Connected{0} -- {1},remoteClient.Client.LocalEndPoint, remoteClient.Client.RemoteEndPoint);NetworkStream streamToClient remoteClient.GetStream();do{byte[] buffer new byte[BufferSize];int bytesRead;try{lock (streamToClient){bytesRead streamToClient.Read(buffer, 0, BufferSize);}if (bytesRead 0) throw new Exception(读取到0字节);Console.WriteLine(Reading data, {0} bytes ..., bytesRead);string msg Encoding.Unicode.GetString(buffer, 0, bytesRead);Console.WriteLine(Received: {0}, msg);msg msg.Substring(2);buffer Encoding.Unicode.GetBytes(msg);lock (streamToClient){streamToClient.Write(buffer, 0, buffer.Length);}Console.WriteLine(Sent: {0}, msg);}catch (Exception ex){Console.WriteLine(ex.Message);break;}} while (true);streamToClient.Dispose();remoteClient.Close();Console.WriteLine(\n\n输入\Q\键退出。);do{key Console.ReadKey(true).Key;} while (key ! ConsoleKey.Q);}class Client{static void Main(string[] args){Console.WriteLine(Client Running ...);TcpClient client;ConsoleKey key;const int BufferSize 8192;try{client new TcpClient();client.Connect(localhost, 8500); }catch (Exception ex){Console.WriteLine(ex.Message);return;}Console.WriteLine(Server Connected{0} -- {1},client.Client.LocalEndPoint, client.Client.RemoteEndPoint); NetworkStream streamToServer client.GetStream();Console.WriteLine(Menu: S - Send, X - Exit);do{key Console.ReadKey(true).Key;if (key ConsoleKey.S){Console.Write(Input the message: );string msg Console.ReadLine();byte[] buffer Encoding.Unicode.GetBytes(msg); try{lock (streamToServer){streamToServer.Write(buffer, 0, buffer.Length);}Console.WriteLine(Sent: {0}, msg);int bytesRead;buffer new byte[BufferSize];lock (streamToServer){bytesRead streamToServer.Read(buffer, 0, BufferSize);}msg Encoding.Unicode.GetString(buffer, 0, bytesRead);Console.WriteLine(Received: {0}, msg);}catch (Exception ex){Console.WriteLine(ex.Message);break;}}} while (key ! ConsoleKey.X);streamToServer.Dispose();client.Close();Console.WriteLine(\n\n输入\Q\键退出。);do{key Console.ReadKey(true).Key;} while (key ! ConsoleKey.Q); }}三、TCP端口状态说明 1.LISTENING状态 FTP 文件传输协议服务器启动时后处于这一状态直到和客户端连接成功。 2.ESTABLISHED状态 连接成功就处于这一状态表示两端正在通讯。 3.CLOSE_WAIT状态 对方主动关闭连接或者网络异常导致连接中断均会变成此状态。 4.TIME_WAIT状态 主动调用close()断开连接收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(两倍的分段最大生存期)以此来确保旧的连接状态不会对新连接产生影响。 5.SYN_SENT状态 SYN_SENT状态表示请求连接当你要访问其它的计算机的服务时首先要发个同步信号给该端口此时状态为SYN_SENT如果连接成功了就变为 ESTABLISHED此时SYN_SENT状态非常短暂。如果发现SYN_SENT非常多且在向不同的机器发出机器可能中病毒了。 四、总结 总结下Socket: 1建立服务端和客户端的连接。 2客户端发送消息给服务端。 3服务端接收到客户端的连接。 4服务端对消息进行处理再发给客户端。 5. 客户端收到消息。 6. 结束。 参考文章 以太网 七层网络协议–tcp/ip协议 网络编程
http://wiki.neutronadmin.com/news/378373/

相关文章:

  • 创建网站需要什么平台一站式营销平台
  • 怎么网站搜索排名优化网站建设方案书doc模板
  • 跨境电商网站建设开发iis7搭建网站教程
  • 现在做网站开发吗一个网站是怎么建立的
  • 网站规划 时间哪些网站可以seo
  • 濮阳房产网站建设wordpress新闻动态不显示作者
  • 住房和城乡建设部网站监理合同聊城市东昌府区建设路小学网站
  • 深圳做网站(龙华信科)网络营销管理
  • 手机网站模板网opencart做外贸网站怎样
  • 网站做推广团队wordpress上传不了图片
  • 昆明著名网站建设网站开发实验报告模版
  • wordpress 网站导航企业融资计划书范本
  • 深圳网站设计联系电话怎么注册个人工作室
  • 网站游戏制作开发网站建立要多少钱
  • 有没一些网站只做临床药学公众号怎么链接wordpress
  • ps制作网站首页江西南昌网站建设哪家好
  • 网站系统安全性网页编辑招聘
  • 动态图片素材网站百度公司地址在哪里
  • 凡科轻站小程序怎么样公司网址格式怎么写
  • h5网站的好处wordpress 网站标题图
  • 做网站 用什么做数据库最好企业网站导航代码
  • python 电商网站开发地推网推平台
  • 网站开发模板教务管理巴中网站建设有限公司
  • 自己做背景的网站苏州区网站建设
  • 淮安官方网站开发区深圳网站营销公司
  • 泉州网站排名优化企业网站的主要栏目
  • cc后缀网站菏泽网站建设哪好
  • 做网站云服务器选择多大带宽旅游景点网站建设
  • 哪个网站做外贸的多山东东营市东营区邮编
  • 内容营销概念北京网站优化wyhseo