JavaSE-day22
网络编程(socket)
名词:互联网:点对点连接万维网:www-world wide web物联网IP:计算机在网络中的地址端口:软件在计算机中的地址协议:计算机与计算机交流定的规则
IP
计算机在互联网中的地址分类IPV4:取值:0~255.0~255.0~255.0~255注意:0,1.255有特殊含义,不要使用IPV6:
如何查看自己电脑的IP地址?在doc命令框中输入ipconfig
有哪些命令?ping对方的ip
Java中对应的类 InetAdressstatic InetAdress getLocalHost(); 获取本机地址static InetAdress getByName(); 通过指定的ip或设备名,寻找指定的计算机地址static InetAdress getAllByName();获取指定的ip,设备名,,网址对应的所有地址string getHostAdress(); 获取调用该方法的对象中的ip地址String getHostName(); 获取调用该方法的对象中的设备名称特殊ip:127.0.0.1(localhost) 表示本机的ip
端口
软件在计算机中的地址取值:0~65535注意:一般0~2048被系统调用
协议
OSI协议7层架构,但是因为过于理想化也比较繁琐,所以没有实现,只存在理论中应用层表示层会话层传输层网络层数据链路层物理层
TCP协议面向有连接特点:三次握手,四次挥手三次握手1、封装对方所在的地址2、判断连接是否成功3、沟通四次握手1、封装结束2、连接完成3、沟通结束4、断开编程思想服务端1、创建服务器端口socket2、等待客户端连接3、获取客户端在服务器的映射4、通过客户端映射获取输入流和输出流客户端1、创建客户端端口socket2、连接服务器3、获取客户端的输入流和输出流
TCP
让客户端给服务器发送一条消息服务器1、创建服务器端口socket2、等待客户端连接,并获取客户端映射3、通过客户端映射获取输入流4、通过输入流接收客户端发送的信息5、关流6、关闭客户端映射7、关闭服务端客户端1、创建客户端端口2、获取客户端输出流3、使用输出流输出数据给服务端4、冲刷5、关流6、关闭客户端让客户端给服务器发送一条消息,并且服务器给客户端回馈一个消息服务端1、创建服务器端口socket2、等待客户端连接,并获取客户端映射3、通过客户端映射获取输入流4、通过输入流接收客户端发送的信息5、通过客户端映射获取输出流6、通过输出流输出给客户回馈的信息7、冲刷8、关闭输出流,关闭输入流9、关闭客户端映射10、关闭服务端客户端1、创建客户端端口2、获取客户端输出流3、使用输出流输出数据给服务端4、获取客户端输入流5、使用输入流接收服务端反馈回来的信息6、冲刷7、关闭输入流,关闭输出流8、关闭客户端
让客户端与服务器无限制聊天服务器1,创建服务器的Socket2,等待客户端连接,并获取客户端映射3,开启接收线程如果接收到信息是886,结束客户端映射4,开启发送线程客户端1,创建客户端的Socket2,开启接收线程3,开启发送线程
UDP
面向无连接特点:每次传输数据的一部分,但是不考虑对方是否接收到编程思想接收端1、创建一个接收端的Socket2、准备一个数据包,用来接收数据3、接收数据4、获取数据包中的数据5、获取数据包中的数据长度6、打印输出7、关闭资源发送端1、创建一个发送端的Socket2、准备要发送的数据3、准备发送的数据包4、发送数据
JavaSE-day22相关推荐
- JavaSE回顾笔记Ⅲ
JavaSE回顾笔记Ⅲ 前言,,懒得写了,去看2吧,开头有几句废话. day13和上一个重复,是因为这一个是完全自学的一个章节,因为并没什么用,但是很感兴趣就简单看了一下.因为强迫症,不想向后 ...
- 【JavaSE】day03_Date、SimpleDateFormat、Calendar、Collection
[JavaSE]day03_Date.SimpleDateFormat.Calendar.Collection 1.Date及其经常使用API 1)JAVA 中的时间 Java中的时间使用标准类库的D ...
- java视频为什么这么多_为什么看java教学视频教的都是javase,两者难道语言相同吗?...
Java 分类 Java SE(Java Platform Standard Edition) :Java平台标准版.主要用于桌面应用程序的开发,是Java技术的核心,提供基础 Java开发工具.执行 ...
- 简述JavaME,JavaSE,JavaEE
javaME:微型版,应用于移动等 JavaSE:标准版,应用于桌面环境 JavaEE:企业版,应用于基于Java的应用服务器 Java SE(Java Platform,Standard Editi ...
- javaee, javaweb和javase的区别以及各自的知识体系
javaee, javaweb和javase的区别以及各自的知识体系 来源 https://blog.csdn.net/weixin_39297312/article/details/79454642 ...
- Java 基础入门随笔(1) JavaSE版——java语言三种技术架构
1.java语言的三种技术架构: J2SE(java 2 Platform Standard Edition):标准版,是为开发普通桌面和商务应用程序提供的解决方案.该技术体系是其他两者的基础,可以完 ...
- javaSE基础04
javaSE基础04 一.三木运算符 <表达式1> ? <表达式2> : <表达式3> "?"运算符的含义是: 先求表达式1的值, 如果为真, ...
- 零基础学习JavaSE(一)
一.开发环境安装配置 1.1 安装jdk jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载后安 ...
- javase基础复习攻略《三》
编程语言的发展: 机器语言--直接由计算机的指令组成,指令.地址.数据都是以"0"和"1"的符号串组成,可以被计算机直接执行. 汇编语言--用容易理解和记忆的符 ...
- javase基础socket编程之局域网聊天,局域网文件共享
2017年06月04日 23点25分 javase基础学完可以做什么,javase实现局域网聊天室 包含内容:基础语法,面向对象,多线程,IO流,GUI编程,网络编程(udp) 实现功能:局域网群聊 ...
最新文章
- pcl求平面法向量_线性代数6——平面方程与矩阵
- linux教程 sed命令的用法,Linux文本处理三剑客——sed命令使用教程
- 软件工程--第三周学习进度
- 鸿蒙公测新增6款手机,鸿蒙公测第二期报名入口 鸿蒙2.0第二期公测新增支持机型有哪些...
- c#窗体程序生成错误_用C#语言做的窗体程序中出错恶劣怎么办?
- zedboard--zynq使用自带外设IP让ARM PS访问FPGA(八) 转载
- vue-cli起服务chrome不能打断点——每周汇总(第一周)
- pythongui 三维_python图形GUI基本示例
- Leetcode每日一题:290.word-pattern(单词规律)
- SmartGit for Mac(图形化Git客户端)
- 十个JDBC的最佳实践
- VMware 12 许可密钥
- linux hack tool
- 微信支付商家转账到零钱功能使用教程
- DLL load failed while importing rdBase
- 企业微信怎么群发消息到群?企业微信客户群群发有什么限制?
- vol.178 美西自驾历险记 · 完结篇(下)
- poj 1729 Jack and Jill 1376 Robot 1324 Holedox Moving 1475 Pushing Boxes bfs + a*
- 个人博客-1(登录功能模块实现)
- iOS淘宝授权登录及跳转淘宝页面
热门文章
- 异构数据库中间件sequoia(c-jdbc)初体验(1.安装试运行)
- duet设置_Duet Display使用感受
- 日语输入法促音和长音的输入
- Spring中的一些常用注解
- 单出口双防火墙双核心冗余_铁路无线网络基站冗余(4)LTER
- Task 1 知识图谱介绍
- 2021年全球无线天线收入大约6724.2百万美元,预计2028年达到14740百万美元
- 003. EsayUI系列之easyui-linkbutton
- java 解析p12_java引用微信支付的p12证书文件
- Flink 的 算子链 和 资源组