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

什么公司做网站会提供源代码百度广告点击软件

什么公司做网站会提供源代码,百度广告点击软件,wordpress get theme ,建网站需要花哪些钱一.什么是套接字 在 Java 中,套接字(Socket)是一种用于实现网络通信的机制,它提供了一种在不同计算机之间进行数据传输的方式。 1.分类 流套接字(Stream Socket):使用 TCP 协议,提…

一.什么是套接字

在 Java 中,套接字(Socket)是一种用于实现网络通信的机制,它提供了一种在不同计算机之间进行数据传输的方式。

1.分类

  • 流套接字(Stream Socket)使用 TCP 协议,提供可靠的、面向连接的字节流通信。数据以连续的字节流形式传输,保证数据的顺序和完整性,适用于对数据准确性要求高的场景,如文件传输、HTTP 协议等。
  • 数据报套接字(Datagram Socket)使用 UDP 协议,提供无连接的、不可靠的数据报通信。数据以独立的数据包(数据报)形式传输,不保证数据的顺序和完整性,但具有较高的实时性,适用于对实时性要求高但能容忍一定数据丢失的场景,如视频会议、实时游戏等。

2.相关类

  • ServerSocket用于服务器端,创建一个监听特定端口的套接字,等待客户端连接。通过accept()方法阻塞等待客户端连接,一旦有客户端连接,就返回一个Socket对象用于与该客户端进行通信。
  • Socket客户端和服务器端在建立连接后,都使用Socket对象进行数据的读写操作。可以通过getInputStream()获取输入流读取数据,通过getOutputStream()获取输出流写入数据。

2.1 getInputStream() 和 getOutputStream() 

getInputStream() 和 getOutputStream() 是 Socket 类的重要方法

  • getInputStream()Socket 类的 getInputStream() 方法会返回一个 InputStream 对象,这个对象能够让程序从  与该 Socket 连接的另一端读取数据。当网络中的数据传输到本地时,就可以通过这个输入流把数据读取到程序里。
  • getOutputStream()getOutputStream() 方法返回一个 OutputStream 对象,程序可以使用这个对象向   与该 Socket 连接的另一端写入数据。当程序有数据需要发送到网络的另一端时,就可以通过这个输出流将数据发送出去。

 二.流套接字-代码示例

下面是一个简单的基于 TCP 协议的客户端 - 服务器通信示例

1.服务器端代码

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;public class Server {public static void main(String[] args) {try {
1.客户端和服务器端建立连接/ 创建一个监听端口号为888的服务器端套接字ServerSocket serverSocket = new ServerSocket(8888);/等待客户端连接(通过accept()方法阻塞等待)/一旦有客户端连接,就返回一个Socket对象用于与该客户端进行通信Socket socket = serverSocket.accept();2.使用Socket对象进行数据的读写操作/ 获取输入流读取数据.输出流写入数据InputStream inputStream = socket.getInputStream();OutputStream outputStream = socket.getOutputStream();3. 读取客户端发送过来的数据/创建了一个长度为 1024 的字节数组 bufferbyte[] buffer = new byte[1024];/从输入流中读取数据到 buffer 数组中。该方法会返回实际读取到的字节数,将这个值赋给变量 lengthint length = inputStream.read(buffer);/将字节数组 buffer 中从索引 0 开始、长度为 length 的字节数据转换为字符串String message = new String(buffer, 0, length);/打印出来System.out.println("Received from client: " + message);4. 向客户端发送响应数据String response = "Hello, client!";outputStream.write(response.getBytes());
5. 关闭资源socket.close();serverSocket.close();} catch (IOException e) {e.printStackTrace();}}
}

2.客户端代码 

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;public class Client {public static void main(String[] args) {try {
1.让客户端连接到服务器/创建客户端套接字,连接到服务器。指定服务器地址,服务器端口号/与本地服务器(localhost)的 8888 端口建立 TCP 连接Socket socket = new Socket("localhost", 8888);2.使用socket对象进行数据的读写操作/获取输入流和输出流InputStream inputStream = socket.getInputStream();OutputStream outputStream = socket.getOutputStream();
3. 向服务器发送数据String message = "Hello, server!";outputStream.write(message.getBytes());
4. 读取服务器响应的数据byte[] buffer = new byte[1024];int length = inputStream.read(buffer);String response = new String(buffer, 0, length);System.out.println("Received from server: " + response);// 关闭资源socket.close();} catch (IOException e) {e.printStackTrace();}}
}

三.数据报套接字-代码示例 

简单的使用DatagramSocket发送和接收 UDP 数据包的示例。

UDPClientUDPServer发送了一条消息,UDPServer接收并打印了该消息

1.服务器端代码 

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;public class UDPServer {public static void main(String[] args) throws Exception {/创建一个监听端口号为888的服务器端UDP套接字DatagramSocket socket = new DatagramSocket(8888);byte[] buffer = new byte[1024];/创建一个用于接收指定长度数据的数据包DatagramPacket packet = new DatagramPacket(buffer, buffer.length);/调用recive()方法接收数据-将接收到的数据填充到Packet中socket.receive(packet);/获取数据包中的数据字节数组,(从0开始到实际长度)String message = new String(packet.getData(), 0, packet.getLength());System.out.println("Received: " + message);// 关闭套接字socket.close();}
}

 2.客户端代码

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;public class UDPClient {public static void main(String[] args) throws Exception {/ 创建一个客户端UDP套接字DatagramSocket socket = new DatagramSocket();String message = "Hello, Server!";//要发送的消息/ 将消息转换为字节数组byte[] buffer = message.getBytes();/把数据封装到数据包里/ 创建一个用于接收指定长度数据的数据包,且指定数据包要发送到的目标地址和端口号DatagramPacket packet = new DatagramPacket(buffer, buffer.length, InetAddress.getByName("localhost"), 8888);/ 发送数据socket.send(packet);/ 关闭套接字socket.close();}
}

 四.DatagramSocket

是 Java 中用于表示 UDP 数据包的类

1.作用

适用场景:用于DatagramSocket中发送和接收数据时候

1.在发送数据时,需要将数据封装在DatagramPacket中,并指定目标地址和端口号;

2.在接收数据时,通过DatagramSocket对象的recieve( )方法将接收到的数据填充到DatagramPacket,通过它可以获取到数据内容、发送方的地址和端口号等信息。

2.构造方法

  • DatagramPacket(byte[] buf, int length):创建一个用于接收指定长度数据的数据包。
  • DatagramPacket(byte[] buf, int offset, int length):创建一个指定偏移量和长度的接收数据包。
  • DatagramPacket(byte[] buf, int length, InetAddress address, int port):创建一个用于发送数据的数据包,指定了目标地址和端口号。
  • DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port):创建一个指定偏移量、长度、目标地址和端口号的发送数据包。

3.主要方法

  • getAddress():获取数据包的发送方或接收方的 IP 地址。
  • getPort():获取数据包的发送方或接收方的端口号。
  • getData():获取数据包中的数据字节数组。
  • getLength():获取数据包中实际数据的长度

http://www.dtcms.com/wzjs/285595.html

相关文章:

  • 青岛建设英文网站建设群发软件
  • 成立一个做网站的公司最近新闻
  • 用什么网软件做网站广告推广的软件
  • 首页英文长沙谷歌seo收费
  • 外链发布平台有哪些南宁百度seo排名价格
  • 网站开发合同模版百度推广怎么开户
  • 电子商务网站规划方案域名搜索引擎入口
  • 海外红酒网站建设seo内容优化是什么意思
  • 动态网站建设实训实训心得北京互联网公司有哪些
  • 门户网站自查报告百度网站推广
  • linux建立网站百度广告商
  • 个人网站如何被百度收录今日国内新闻头条15条
  • 做旅游网站的好处培训心得体会万能模板
  • 怎么做静态网站房产网站建设
  • 自己创建的网站小视频关键词汇总
  • 微企点网站建设seo外包上海
  • WORDPRESS乱码HTTPSseo推广技巧
  • php建设网站教程网站优化方式有哪些
  • 怎么做类似淘宝网站吗商务软文写作范文200字
  • php 判断 $_get 然后跳转到相印的网站网店推广策划方案
  • 湖北城乡建设网站网上销售
  • 西宁网站开发公司谷歌chrome
  • 做公司 网站建设百度搜索开放平台
  • 攻击自己做的网站吗google手机官网
  • 晋中做网站2345网址导航应用
  • 一个商务宣传怎么做网站合适深圳网络营销推广专员
  • 外贸网站建设海外推广郑州网络营销推广机构
  • 网站开发工程师简历百度客服人工电话24小时
  • 番禺做网站设计谷歌seo靠谱吗
  • 网站的交互设计有什么网站制作推广电话