【幻化万千戏红尘】qianfengDay23-java基础学习:网络编程、TCP IP协议、端口Socket、ServerSocket

课程回顾:
线程安全的解决




今日内容:
网络:
通过外部的网络设备,将分布在不同区域的计算机连接在一起,
实现不同计算机之间的数据交互
不同的计算机想进行数据的交互,就必须得遵守相同的通信协议


TCP/IP协议:传输控制协议/网际协议
网络模型:
用书糊口
4层模型 五层模型 七层模型 
应用层 应用层和表示层和会话层
传输层
互联网层
数据接口层 数据链路层和物理层


网络结构的程序分类:
1、B/S:浏览器/服务器
2、C/S:客户端/服务器


TCP/IP协议:是目前网络中使用最为广泛的通信协议
Transmission Control Protocal 传输控制协议
控制数据的传输
TCP是在不可靠的互联网中提供可靠的数据传输的协议
面向连接的,端到端数据传输client-server
TCP的三次握手(连接):
客户端先向服务端发送请求连接
服务端接收到之后,开辟存储单元,并返回消息
客户端接收到之后,会给服务端发送确认消息
一共是三次


Internet Protocol 网际协议 ip地址
IP地址:网络中计算机的标记,用于区分网络中计算机
32位组成,一般分为4部分,每部分的范围[0,255]
我们日常使用的IP都是十进制
IP的分类:
1类:政府机关:0---126
2类:中等规模的公司128-191
3类:个人192-223
4类:组播224-249
5类:实验室250-255
127.0.0.1或localhost都是指的本机




端口号:具有网络功能的软件的标记
计算机端口数:256*256
端口号的范围[0,65535]
0-1023:目前已经被公认的或即将被公认的软件
1024-65535:任何软件都可以使用


通过IP和端口我们才可以定位计算机的某个软件


InetAddress类:互联网地址
IP地址的描述类
常用方法:
getLocalHost:获取本机的IP对象
getHostAddress:获取对象的IP地址字符串
getHostName:获取对象的主机名称
getByName:获取指定名称的IP对象
getAllByName:获取指定名称的所有IP对象




套接字:程序进行网络连接实现的数据交互,数据交互的一端就是套接字
简而言之:就是用于2个程序之间进行数据交互的端
将数据写入到套接字中,套接字会将数据传输到指定的套接字中
TCP:Client-Server
TCP协议就是将数据在客户端和服务端进行交互的一种协议
Socket:应用客户端
ServerSocket:应用服务端




TCP开发步骤:
1、创建套接字(连接)
2、获取对应的流对象
3、操作对应的流
4、关闭


Socket套接字:实现数据的交互,主要应用在客户端
常用构造:
Socket(String host, int port) 
参数说明:
第一个参数:服务器的IP地址
第二个参数:服务端程序的端口号


常用方法:
getInputStream:获取输入流,用于读取信息
getOutputStream:获取输出流,用于发送消息
close:关闭套接字


ServerSocket:服务端套接字
常用构造:
ServerSocket(int port)
创建对象并监听端口号
常用方法:
accept: 监听客户端的连接
close:关闭


1对1聊天
read方法,如果套接字无关闭,无法读取到文件的末尾
文件传输:
流读取要发送的文件内容
将读取到的内容写出到套接字中
接收端从套接字中读取文件的内容
再通过流写出到本地






周四:
Sqlite数据库+反射
周五:
HTML+Servlet


下周内容:
Http协议+Servlet
XML解析
JSON解析
正则表达式



























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值