网站营销策略有哪些seo检测

web/2025/9/27 16:41:28/文章来源:
网站营销策略有哪些,seo检测,wordpress柒零贰,电商网站建设如何UDP 协议#xff08;用户数据包协议#xff09; UDP 是无连接通信协议#xff0c;即在数据传输时#xff0c;数据的发送端和接收端不建立逻辑连接#xff0c;简单来说#xff0c;当客户端向接收端发送数据时#xff0c;客户端不会确认接收端是否存在#xff0c;就会发出…UDP 协议用户数据包协议 UDP 是无连接通信协议即在数据传输时数据的发送端和接收端不建立逻辑连接简单来说当客户端向接收端发送数据时客户端不会确认接收端是否存在就会发出数据。同样接收端在接收数据时也不会向发送端反馈是否收到数据 由于使用 UDP 协议消耗资源小通信效率高所以通常都会用于音频、视频和普通数据传输 例如视频会议通常采用 UDP 协议因为这种情况即使偶尔丢失一两个数据包也不会对接收结果产生太大影响。但是在使用 UDP 协议传送数据时由于 UDP 的面向无连接性不能保证数据的完整性因此在传输重要数据是不建议使用 UDP 协议 客户端与服务器端图解 TCP 是基于字节流的传输层通信协议所以 TCP 编程是基于 IO 流编程 UDP 通信编程 发送 数据 1..创建 DatagramSocket 对象 不传参指定端口。发送端口 2.创建 DatagramPacket 对象 需传入指定的byte数组长度要发送的地址接收的端口号。 3.发送数据 4.关闭 客户端 package com.lpy.socketdemo2;import java.io.IOException; import java.net.*; import java.nio.charset.StandardCharsets;public class SendDemo {public static void main(String[] args) throws IOException {// 创建 DatagramSocket 对象 DatagramSocket ds new DatagramSocket();String str hello world;byte[] bytes str.getBytes();InetAddress address InetAddress.getByName(127.0.0.1);int port 80;// 创建 DatagramPacket 对象 DatagramPacket dp new DatagramPacket(bytes, bytes.length, address, port);// 发送数据ds.send(dp);// 关闭 ds.close();} }接收 数据 创建 DatagramSocket 对象指定接收用的端口号创建 DatagramPacket 对象用byte数组接收指定接收长度接收数据解析数据 服务端 package com.lpy.socketdemo3;import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException;public class ReceiveDemo {public static void main(String[] args) throws IOException {// 创建 DatagramSocket 对象指定接收用的端口号DatagramSocket ds new DatagramSocket(10086);byte[] bytes new byte[1024];// 创建 DatagramPacket 对象用byte数组接收指定接收长度DatagramPacket dp new DatagramPacket(bytes, bytes.length);// 接收数据ds.receive(dp);// 解析数据byte[] data dp.getData();int len dp.getLength();InetAddress address dp.getAddress();int port dp.getPort();System.out.println(接收到的数据 new String(data, 0, len)); // // 接收到的数据hello worldSystem.out.println(该数据是从 address 这台电脑中的 port 端口发送出来的); // // 该数据是从/127.0.0.1这台电脑中的65220端口发送出来的// 关闭ds.close();} }DatagramSocket类负责接收和发送数据报。每个DatagramSocket对象都会与一个本地端口绑定在此端口监听发送过来的数据报。在客户程序中一般由操作系统为DatagramSocket类分配本地端口这种端口也被称为匿名端口。在服务器程序中一般由程序显式地为DatagramSocket类指定本地端口。 send()方法可用于发送数据包DatagramSocket的receive()方法负责接收一个数据报 值得注意的是UDP提供不可靠的传输如果数据报没有到达目的地那么send()方法不会抛出任何异常发送方程序就无法知道数据报是否被接收方接收到除非双方通过应用层的特定协议来确保接收方未收到数据报时发送方能重发数据报。 send()方法可能会抛出IOException但是与java.uti.Socket相比DatagramSocket的send()方法抛出IOException的可能性很小。如果发送的数据报超过了底层网络所支持的数据报的大小就可能会抛出SocketException它是IOException的子类。 在使用UDP实现Socket通信时服务端与客户端都是使用DatagramSocket类传输的数据要存放在DatagramPacket类中。 DatagramSocket类表示用来发送和接收数据报包的套接字。数据报套接字是包投递服务的发送或接收点。每个在数据报套接字上发送或接收的包都是单独编址和路由的。从一台机器发送到另一台机器的多个包可能选择不同的路由也可能按不同的顺序到达。在DatagramSocket上总是启用UDP广播发送。为了接收广播包应该将DatagramSocket绑定到通配符地址。在某些实现中将DatagramSocket绑定到一个更加具体的地址时广播包也可以被接收。 DatagramPacket类表示数据报包。数据报包用来实现无连接包投递服务。每条报文仅根据该包中包含的信息从一台机器路由到另一台机器。从一台机器发送到另一台机器的多个包可能选择不同的路由也可能按不同的顺序到达。 DatagramSocket类中的public synchronized void receiveDatagramPacket p方法的作用是从此套接字接收数据报包。当此方法返回时DatagramPacket的缓冲区填充了接收的数据。数据报包也包含发送方的IP地址和发送方机器上的端口号此方法在接收到数据报前一直阻塞。数据报包对象的length字段包含所接收信息的长度。如果发送的信息比接收端包关联的byte[]长度长该信息将被截短。如果发送信息的长度大于65507则发送端出现异常。 DatagramSocket类中的public void sendDatagramPacket p方法的作用是从此套接字发送数据报包。 DatagramPacket包含的信息有将要发送的数据及其长度、远程主机的IP地址和远程主机的端口号。 DatagramPacket类中的public synchronized byte[]getData方法的作用是返回数据缓冲区。接收到的或将要发送的数据从缓冲区中的偏移量offset处开始持续length长度。 在某些场合一个DatagramSocket可能只希望与固定的另一个远程DatagramSocket通信。例如NFS客户只接收来自与之通信的服务器的数据报。再例如在网络游戏中一个游戏玩家只接收他的游戏搭档的数据报。 从JDK1.2开始DatagramSocket添加了一些方法利用这些方法可以使一个DatagramSocket只能与另一个固定的DatagramSocket交换数据报。 1public void connect(InetAddress host,int port) connect()方法实际上不建立TCP意义上的连接但它能限制当前DatagramSocket只对参数指定的远程主机和UDP端口收发数据报。如果当前DatagramSocket试图对其他的主机或UDP端口发送数据报send()方法就会抛出IllegalArgumentException。从参数以外的其他主机或UDP端口发送过来的数据报则被丢弃程序不会得到任何通知也不会抛出任何异常。 2public void disconnect() disconnect()中止当前DatagramSocket已经建立的“连接”这样DatagramSocket就可以再次对任何其他主机和UDP端口收发数据报。 3public int getPort() 当且仅当DatagramSocket已经建立连接时getPort()方法才返回DatagramSocket所连接的远程UDP端口否则返回“-1”。 4public InetAddress getInetAddress() 当且仅当DatagramSocket已经建立连接时getInetAddress()方法才返回DatagramSocket所连接的远程主机的IP地址否则返回null。 5public SocketAddress getRemoteSocketAddress() 当且仅当DatagramSocket已经建立连接时getRemoteSocketAddress()方法才返回一个SocketAddress对象表示DatagramSocket所连接的远程主机以及端口的地址否则返回null。 UDP客户程序通常只和特定的UDP服务器通信因此可在UDP客户程序中把DatagramSocket与远程服务器连接。UDP服务器需要与多个UDP客户程序通信因此在UDP服务器中一般不用对DatagramSocket建立特定的连接。 关闭DatagramSocket DatagramSocket的close()方法会释放所占用的本地UDP端口。在程序中及时关闭不再需要的DatagramSocket这是好的编程习惯。 DatagramSocket的选项 1.SO_TIMEOUT选项 ·设置该选项public void setSoTimeout(int milliseconds) throws SocketException ·读取该选项public int getSoTimeOut() throws SocketException DatagramSocket类的SO_TIMEOUT选项用于设定接收数据报的等待超时时间单位为ms它的默认值为0表示会无限等待永远不会超时。以下代码把接收数据报的等待超时时间设为3min if(socket.getTimeOut() 0) socket.setTimeOut(60000*3); DatagramSocket的setTimeout()方法必须在接收数据报之前执行才有效。当执行DatagramSocket的receive()方法时如果等待超时那么会抛出SocketTimeoutException此时DatagramSocket仍然是有效的尝试再次接收数据报。 2.SO_RCVBUF选项 ·设置该选项public void setReceiveBufferSize(int size) throws SocketException ·读取该选项public int getReceiveBufferSize() throws SocketException SO_RCVBUF表示底层网络的接收数据的缓冲区简称接收缓冲区的大小。对于有着较快传输速度的网络比如以太网较大的缓冲区有助于提高传输性能因为可以在缓冲区溢出之前存储更多的入站数据报。与TCP相比对于UDP确保接收数据的缓冲区具有足够的大小更为重要因为当缓冲区满后再到达的数据报会被丢弃。而TCP会在这种情况下要求重传数据确保数据不会丢失。 此外SO_RCVBUF还决定了程序接收的数据报的最大大小。在接收缓冲区中放不下的数据报会被丢弃。 setReceiveBufferSize(int size)方法设置接收缓冲区的大小值得注意的是许多网络都限定了接收缓冲区大小的最大值如果参数size超过该值那么setReceiveBufferSize(int size)方法所做的设置无效。getReceiveBufferSize()方法返回接收缓冲区的实际大小。 3.SO_SNDBUF选项 ·设置该选项public void setSendBufferSize(int size) throws SocketException ·读取该选项public int getSendBufferSize() throws SocketException SO_SNDBUF表示底层网络的发送数据的缓冲区简称发送缓冲区的大小。setSendBufferSize(int size)方法设置发送缓冲区的大小值得注意的是许多网络都限定了发送缓冲区大小的最大值如果参数size超过该值那么setSendBufferSize(int size)方法所做的设置无效。getSendBufferSize()方法返回发送缓冲区的实际大小。 4.SO_REUSEADDR选项 ·设置该选项public void setResuseAddress(boolean on) throws SocketException ·读取该选项public boolean getResuseAddress() throws SocketException SO_REUSEADDR选项对于UDP Socket和TCP Socket有着不同的意义。对于UDPSO_REUSEADDR决定多个DatagramSocket是否可以同时被绑定到相同的IP地址和端口。如果多个DatagramSocket被绑定到相同的IP地址和端口那么到达该地址的数据报会被复制给所有的DatagramSocket。 setResuseAddress(boolean on)必须在DatagramSocket绑定到端口之前被调用这意味着必须采用以下这个构造方法来创建DatagramSocket对象。 protected DatagramSocket(DatagramSocketImpl impl) //此构造方法创建的DatagramSocket对象未与任何端口绑定 5.SO_BROADCAST选项 ·设置该选项public void setBroadCast(boolean on) throws SocketException ·读取该选项public boolean getBroadCast() throws SocketException SO_BROADCAST选项决定是否允许对网络广播地址发送广播数据报。对于一个地址为192.168.5.*的网络其本地网络广播地址为 192.168.5.255。UDP广播常被用于JXTA对等发现协议JXTA Peer Discovery Protocol、服务定位协议Service Location Protocol和DHCP动态主机配置协议Dynamic Host Configuration Protocol等协议。例如如果需要和本地网中的服务器通信但是预先不知道服务器的地址就需要采用这些协议。 广播数据报一般只在本地网络中传播路由器和网关一般不转发广播数据报。SO_BROADCAST选项的默认值为true。如果不希望发送广播数据报那么可以调用DatagramSocket的setBroadCast(false)方法。 实现简易的通信聊天 客户端 package com.lpy.socketdemo4;import java.io.IOException; import java.net.*; import java.util.Scanner;public class Send {public static void main(String[] args) throws IOException {DatagramSocket ds new DatagramSocket();Scanner sc new Scanner(System.in);int port 80;InetAddress address InetAddress.getByName(127.0.0.1);while (true) {System.out.println(请输入发送的内容);String str sc.nextLine();byte[] bytes str.getBytes(UTF-8);DatagramPacket dp new DatagramPacket(bytes, bytes.length, address, port);ds.send(dp);if (str.equals(bye)) break;}ds.close();} }服务端 package com.lpy.socketdemo4;import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException;public class receive {public static void main(String[] args) throws IOException {DatagramSocket ds new DatagramSocket(80);byte[] bytes new byte[1024];DatagramPacket dp new DatagramPacket(bytes, bytes.length);while (true) {ds.receive(dp);byte[] data dp.getData();int len dp.getLength();String str new String(data, 0, len, UTF-8);System.out.println(由 dp.getAddress().getHostAddress() 主机 dp.getPort() 端口号发来了);System.out.println(str);if (str.equals(bye)) {break;}}ds.close();} }效果如图  本次分享到此结束觉得有所帮助的朋友点点关注点点赞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82867.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常州百度网站排名安阳网站建设推广优化

一、概述 1、起源 MyBatis本是Apache下的开源项目,名为iBatis,2010年转投谷歌,从iBatis3.x开始更名为MyBatis 2、优点 (1)优秀的数据持久层框架(对jdbc做了轻量级封装) 3、特点 (1)对jdbc中接口进行封装的同时还提供了一些自己的类实现…

地方性资讯门户网站网站点击率多少正常

目录 含义语法格式语句特点数组的长度数组的元素打印数组显示数组数组的复制扩展示例【12】 含义 数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数…

网站收录检测公众号代运营平台

在电子商务的浩瀚海洋中,数据是驱动业务决策的核心引擎。阿里巴巴旗下的1688平台,作为全球领先的B2B在线市场,不仅汇聚了海量的商品信息,还提供了丰富的API接口,为开发者提供了强大的数据获取工具。本文将深入探讨1688…

网站建设需要哪些技能免费企业名录软件

MySQL是一个小型关系型数据库管理系统,由于MySQL体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。关于mysql自动关闭服务的现象,可以通过mysql服务器…

单页淘宝客网站什么是外包

Flutter 中的 ExpansionTile 小部件:全面指南 在 Flutter 应用中,ExpansionTile 是一个常用的折叠列表项,它允许用户点击标题来展开或折叠更多的内容。这个组件在实现可折叠列表、FAQ 部分或显示详情信息时非常有用。本文将详细介绍 Expansi…

网站核验点查询义乌市场官方网站

🔥个人主页:Quitecoder 🔥专栏:c笔记仓 朋友们大家好,本篇文章我们来到初始化列表,隐式类型转换以及explicit的内容 目录 1.初始化列表1.1构造函数体赋值1.2初始化列表1.2.1隐式类型转换与复制初始化 1.3e…

南坪网站建设做影视网站代理犯法吗

文章目录 🍪一、前言🍩1、C简介🍩2、C关键字 🍪二、命名冲突🍪三、命名空间🍩1、命名空间定义🍩2、命名空间的使用 🍪四、C输入&输出 🍪一、前言 本篇文章是《C 初阶…

湖南网站建设费用浙江建设干部学校网站首页

Sass:提升CSS开发效率的利器 导语:在Web开发中,样式表是不可或缺的一部分。然而,纯CSS编写繁琐且冗长,难以维护和管理。为了解决这些问题,CSS预处理器应运而生,而其中最为知名和强大的就是Sass…

网站建设技术可行性网站视频

绑个东西要用到求余,不喜欢用表达式,就想用节点连出来,找了下网上只有 镀金铆钉 在火星时代上的教程,不过不能下载了,就自己想了下,终于搞出来了,做下笔记,不要忘了。 求余的思路&a…

网站建设 合同一年级书签制作图片

首先导入镜像到本地 然后上传镜像到仓库 在所有集群节点 部署cri-docker k8s从1.24版本开始移除了dockershim,所以需要安装cri-docker插件才能使用docker 配置cri-docker 升级master 节点 升级kubeadm 执行升级计划 修改节点套接字 腾空节点 升级kubelet 配置k…

在哪做网站课程推广

全文共计3644字,预计阅读时间8分钟来源 | 国汽智联(转载请注明来源)编辑 | 蒲蒲11月11日,由北京市人民政府、工业和信息化部、公安部、交通运输部、中国科学技术协会共同主办的2020世界智能网联汽车大会召开。大会现场&#xff0c…

谷歌网站流量分析win10系统优化软件哪个好

做java开发难免会用到数据库,操作数据库也是java开发的核心技术。那我们现在就来谈谈javajdbc来操作mysql数据库吧 第一步:我们需要把mysql的驱动引进来这里引驱动就是把mysql-connector-java-5.1.37-bin.jar加到项目中来,下面附jar包 第二步&#xff1a…

制作网站问题和解决方法wordpress模板数据

数据库记录修改功能 在上篇文章中我们介绍了如何插入数据库记录,本篇文章会沿用上篇文章的测试数据,介绍如何使用ADI平台定义一个修改目标数据库记录的接口,包括 单主键单表修改、复合主键单表修改、多表修改(整合前两者&#xff…

wordpress后台页面加载慢临沂网站优化如何

引入编译链接概述 编译过程 词法分析语法分析语义分析中间代码生成目标代码生成与优化链接过程Go 程序启动GoRoot 和 GoPathGo 命令详解 go buildgo installgo run总结参考资料 引入 我们从一个 Hello World 的例子开始: package mainimport "fmt"func…

辽源网站建设自建app

一、功能 1.获取活动信息: 用户进入网站后,第一眼就可以查看到近期活动 2.查看活动详情 点击活动标题,可以进入活动详情页面 3.注册功能 首页点击注册,输入学号、密码、姓名、手机号即可完成注册 4.用户登陆 拥有账号之后&#xf…

免费公司注册网站吗局 网站建设方案

1前言: 这里记录一个SneakyThrows的用法,关于他的用法,在官网上可以知道的很清楚 官网介绍:http://projectlombok.org/features/SneakyThrows.html 2代码示例 个人理解:在代码中,使用 try,cat…

咖啡网站模板htmlwordpress怎么批量把定时的文章发布出去

1.JavaScript JavaScript (简称 JS) 是世界上最流行的编程语言之一 是一个脚本语言, 通过解释器运行 主要在客户端(浏览器)上运行, 现在也可以基于 node.js 在服务器端运行. 脚本是什么? 脚本(script)是使用一种特定的描述性语言&#x…

最新的网站开发技术成立公司需要注意哪些问题

来源:科学网在我们每日的饮食中,食盐(氯化钠)是少不了的,难以想象我们怎么能够每天吃完全没有盐味的食物。不仅人类如此,许多动物,例如食草的动物如牛和羊,也会主动寻找土表盐粒。我…

国外网站设计理念2022年全国文明城市

数据集:处理geolife数据-CSDN博客 这边的stations,找到每个station 最近的其他10个station 1 读取数据 假设已经读完了,就是locations 2 保留有用的列 locations.drop([center,user_id],axis1,inplaceTrue) locations 3 加载几何形状 使用…