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

江苏省建设执业网站遂宁模板建站公司

江苏省建设执业网站,遂宁模板建站公司,品牌建设目标包括哪些方面,班级网站建设html制作定义:关注底层数据的传输 区分网页编程:关注上层应用 端口号:区分软件 2个字节 0~65535表示端口号 同一协议下端口号不能冲突 8000以下称为预留端口号,建议之间设置端口号为8000以上 常见的端口号: 80:http 8080:tomcat 3306:mysql 1521:oracle InetSocketAddress:此类实现IP套…

定义:关注底层数据的传输
区分网页编程:关注上层应用

端口号:区分软件
2个字节 0~65535表示端口号
同一协议下端口号不能冲突
8000以下称为预留端口号,建议之间设置端口号为8000以上
常见的端口号:
80:http
8080:tomcat
3306:mysql
1521:oracle

InetSocketAddress:此类实现IP套接字地址(IP地址+端口号)

URL:同一资源定位符,互联网中资源的指针
互联网的三大基石:http html url
url组成:
协议:http
域名:www.baidu.com
端口:80
资源:index.html?username=zhangsan&password=1234#a
http://www.baidu.com:80/index.html?username=zhangsan&password=1234#a

传输层协议:(标准,合同规范)
UDP:写信 不安全,协议简答,开销小,效率高 大小限制一般不超过60k
TCP:打电话 基于连接 安全,效率低 没有大小限制

IP:定位网络中的节点(区分电脑,手机)
IPV4 4个字节 32位 IPV6 128位
特殊的IP:
192.168.0.0-192.168.255.255 非注册IP,供组织内部使用的IP
127.0.0.1 本地IP
localhost:本地
IP与域名
DNS解析器:做域名与IP直接解析问题
java.net包
InetAddress

Socket:套接字
传输层为应用层开辟的一个小口子
面向Socket编程,不同的传输层协议对Socket的实现不同

UDP协议实现:
两端平等:发送端 接口端
UPD协议下数据传输基于字节数组
DatagramSocket
DatagramSocket(int port) 构造一个数据报套接字并将其绑定到本地主机上的指定端口。
void receive(DatagramPacket p) 从此套接字接收数据报包。
void send(DatagramPacket p) 从此套接字发送数据报包。
DatagramPacket : 该类表示数据报包。

UDP协议下基本流程:
发送端:
1.定义发送端
2.准备数据
3.打包数据
4.发送
5.关闭

接收端:
1.定义接收端
2.准备包裹用来接收
3.接收数据
4.处理数据
5.关闭

TCP
协议下两端是不平等的,客户端,服务器端
tcp协议下数据传输基于IO流

TCP协议下实现基本流程:
客户端:
1.定义客户端 Socket该类实现客户端套接字,两台机器通信的端点
Socket(String host,int port)参数:服务器IP+端口
2.准备数据
3.获取输出流,向服务器发送数据
4.刷出
5.关闭
服务器端:
1.定义服务器 ServerSocket该类实现服务器套接字
2.阻塞式监听
3.获取输入流,读取客户端发送的数据
4.处理数据
5.关闭

单向登入
TCP协议下实现单向登录流程 : 客户端
1.定义我是客户端
2.键盘输入接收用户输入的登录信息 username=zhangsan&password=123
3.获取输出流,向服务器发送数据
4.刷出
5.关闭

public class Client {
public static void main(String[] args) throws Exception {
// 创建要发送数据报包的工具,我本身占用9000端口向外面机器发数据包
DatagramSocket ds = new DatagramSocket(9000);
byte[] b = "aaaa".getBytes();
//必须告诉数据包要发到哪里去, 封装数据时才 指定 目标电脑以及端口
DatagramPacket dp = new DatagramPacket(b,b.length,new
InetSocketAddress("localhost",8999));
ds.send(dp);
ds.close();
}
}

TCP协议下实现单向登录流程 : 服务端
1.定义我是服务器
2.阻塞式监听
3.获取输入流,读取客户端发送的数据
4.处理数据
校验用户输入的登录信息是否正确(admin 1234)
5.关闭

        public class Server {
public static void main(String[] args) throws Exception {
// 创建数据报包 工具
DatagramSocket ds = new DatagramSocket(8999);
// 准备接收数据的容器空间
byte[] b = new byte[1024];
// 数据报
DatagramPacket dp = new DatagramPacket(b,b.length);
ds.receive(dp); //阻塞式方法
String string = new String(dp.getData(),0,dp.getLength());
//dp.getLength()返回实际收到的数据的字节数
System.out.println(string);
ds.close();
}
}

双向登入
TCP协议下实现双向登录流程 : 客户端
1.定义我是客户端
2.键盘输入接收用户输入的登录信息 username=zhangsan&password=123
3.获取输出流,向服务器发送数据
4.刷出
5.获取输入流,读取服务器响应的结果
6.处理结果
7.关闭

    import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* 最简单的Socket客户端
*
*/
public class BasicSocketClient {
public static void main(String[] args) {
try {
//指定的是所要连接的服务器的ip和端口。而不是自己机器的端口。发送端口是随机的。
Socket socket = new Socket(InetAddress.getLocalHost(),8888);
// ObjectInputStream ois = new
ObjectInputStream(socket.getInputStream());
// String string = (String) ois.readObject();
// System.out.println(string);
BufferedReader br = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
System.out.println(br.readLine());
br.close();
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

TCP协议下实现双向登录流程 : 服务端
1.定义我是服务器
2.阻塞式监听
3.获取输入流,读取客户端发送的数据
4.处理数据
校验用户输入的登录信息是否正确(admin 1234)
5.获取输出流,将结果响应给客户端
6.刷出
7.关闭

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
/**
* 最简单的服务器端代码
*
*/
public class BasicSocketServer {
public static void main(String[] args) {
try {
//建立服务器端套接字
ServerSocket serverSocket = new ServerSocket(8888); //tcp端口一共多少??
//监听,等待客户端请求,并愿意接收连接。
System.out.println("服务端建立监听");
Socket socket = serverSocket.accept();
//通过流向客户端发送数据
// ObjectOutputStream oos = new
ObjectOutputStream(socket.getOutputStream());
// oos.writeObject("aaaaa");
// oos.close();
BufferedWriter bw = new BufferedWriter(new
OutputStreamWriter(socket.getOutputStream()));
bw.write("hhhh");
bw.close();
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
http://www.yayakq.cn/news/649869/

相关文章:

  • 网站首页图片不清楚设置字体颜色的网站
  • 云端智能建站系统梧州网站建设2k9网络团队提供高品质网站建设服务
  • 一流高职院校建设工作网站成功的网络营销事件有哪些
  • 用户体验网站泰州建站价格
  • 动易学校网站烟台网络科技有限公司
  • 青岛做网站哪里好铜陵seo公司
  • 做网站前期构架图免费网络爬虫网站
  • 屯昌网站建设百度竞价产品
  • 最好的网站建设团队wordpress djiango
  • 做网站专家wordpress商品主题
  • 代做网站修改维护app开发制作平台网站建设
  • 如何建设自己的网站 知乎元宇宙app技术开发
  • 山东省建设厅定额网站电子商务主要学什么专业课程
  • 视频直播网站开发运营步骤wordpress博客页面模板
  • 惠州搜索引擎优化seo描述是写什么
  • 一个完整网站开发需要什么技术定制化网站开发一般多少钱
  • 如何做网站的cdn如何制作网站页面
  • 有哪些文本封面做的好的网站广汉网站建设
  • 微信分享网站短链接怎么做英文版网站制作
  • asp网站建设代码杭州搜索推广公司
  • 有关维护营销型网站建设的方法网站设计公司哪家好
  • 西安建设和住房保障局网站制作网页填数据
  • 网站及其建设的心得赣州91人才网赣州招聘信息
  • 网页制作工作网站做课展网站
  • 网站推广教程分享wordpress 页面空白
  • 做羞羞的事的视频网站中国建设银行北京市互联网网站
  • 如何更改网站标签logowordpress的根目录在哪里
  • 网站模板psdwordpress没有中文版
  • phpcms网站后台模板小县城做网站
  • 下载网站源代码微信朋友圈网页怎么制作