2019-06-04 Java学习日记之网络编程

网络编程三要素之IP概述:

每个设备在网络中的唯一标识

每台网络终端在网络中都要一个独立的地址,我们在网络中传输数据就是使用这个地址

ipconfig:查看本机IP

ping:测试连接

本地回路地址:127.0.0.1  255.255.255.255是广播地址

IPv4:4个字节组成,4和0-255、大概42亿,30亿都在北美,亚洲4亿。2011年初已经用尽

IPv6:8组,每组4个16进制数

1a2b:0000:aaaa:0000:0000:0000:aabb:1f2f

1a2b::aaaa:0000:0000:0000:aabb:1f2f

1a2b:0000:aaaa::aabb:1f2f

1a2b:0000:aaaa::0000:aabb:1f2f

1a2b:0000:aaaa:0000::aabb:1f2f

网络编程三要素之端口号概述:

每个程序在设备上的唯一标识

每个网络程序都需要绑定一个端口号,传输数据的时候除了确定发到哪台机器上海要明确发到哪个程序

端口号范围从0-65535

编写网络应用就需要绑定一个端口号,尽量使用1024以上的,1024以下的基本上都被系统程序给占用了

常用端口

  mysql:3306

  oracle:1521

  web:80

  tomcat:8080

  QQ:4000

  feiQ:2425

网络编程三要素协议:

为计算机网络中进行数据交换而建立的规则、标准或约定的集合

UDP

  面向无连接,数据不安全,速度快,不区分客户端与服务端

TCP

  面向连接(三次握手),数据安全,速度略低。分为客户端和服务端

  三次握手:客户端先想服务端发起请求,服务端响应请求,传输数据

UDP传输优化:

接收端Receive

发送端Send

UDP传输多线程:

发送和接收在一个窗口完成

UDP聊天图形化界面:

UDP聊天发送功能:

UDP聊天记录功能:

UDP聊天清屏功能:

UDP聊天振动功能:

UDP聊天快捷键和代码优化:

UDP聊天生成jar文件:

TCP协议:

1、客户端

创建Socket连接服务端(指定ip地址,端口号)通过ip地址找对应的服务器

调用Socket的getInputStream()和getOutputStream()方法获取和服务端相连的IO流

输入流可以读取服务端输出流写出的数据

输出流可以写出数据到服务端的输入流

2、服务端

创建ServerSocket(需要指定端口号)

调用ServerSocket的accept()方法接收一个客户端请求,得到一个Socket

调用Socket的getInputStream()和getOutputStream()方法获取和客户端相连的IO流

输入流可以读取客户端输出流写出的数据

输出流可以写出数据到客户端的输入流

TCP协议代码优化:

服务端是多线程的:

练习1:

客户端向服务端写字符串(键盘录入),服务端(多线程)将字符串反转后写会,客户端再次读取到时反转后的字符串

练习2:

客户端向服务器上传文件

猜你喜欢

转载自www.cnblogs.com/clqbolg/p/10974866.html