网络编程(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相关推荐

  1. JavaSE回顾笔记Ⅲ

    JavaSE回顾笔记Ⅲ ​ 前言,,懒得写了,去看2吧,开头有几句废话. ​ day13和上一个重复,是因为这一个是完全自学的一个章节,因为并没什么用,但是很感兴趣就简单看了一下.因为强迫症,不想向后 ...

  2. 【JavaSE】day03_Date、SimpleDateFormat、Calendar、Collection

    [JavaSE]day03_Date.SimpleDateFormat.Calendar.Collection 1.Date及其经常使用API 1)JAVA 中的时间 Java中的时间使用标准类库的D ...

  3. java视频为什么这么多_为什么看java教学视频教的都是javase,两者难道语言相同吗?...

    Java 分类 Java SE(Java Platform Standard Edition) :Java平台标准版.主要用于桌面应用程序的开发,是Java技术的核心,提供基础 Java开发工具.执行 ...

  4. 简述JavaME,JavaSE,JavaEE

    javaME:微型版,应用于移动等 JavaSE:标准版,应用于桌面环境 JavaEE:企业版,应用于基于Java的应用服务器 Java SE(Java Platform,Standard Editi ...

  5. javaee, javaweb和javase的区别以及各自的知识体系

    javaee, javaweb和javase的区别以及各自的知识体系 来源 https://blog.csdn.net/weixin_39297312/article/details/79454642 ...

  6. Java 基础入门随笔(1) JavaSE版——java语言三种技术架构

    1.java语言的三种技术架构: J2SE(java 2 Platform Standard Edition):标准版,是为开发普通桌面和商务应用程序提供的解决方案.该技术体系是其他两者的基础,可以完 ...

  7. javaSE基础04

    javaSE基础04 一.三木运算符 <表达式1> ? <表达式2> : <表达式3> "?"运算符的含义是: 先求表达式1的值, 如果为真, ...

  8. 零基础学习JavaSE(一)

    一.开发环境安装配置 1.1 安装jdk jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载后安 ...

  9. javase基础复习攻略《三》

    编程语言的发展: 机器语言--直接由计算机的指令组成,指令.地址.数据都是以"0"和"1"的符号串组成,可以被计算机直接执行. 汇编语言--用容易理解和记忆的符 ...

  10. javase基础socket编程之局域网聊天,局域网文件共享

    2017年06月04日  23点25分 javase基础学完可以做什么,javase实现局域网聊天室 包含内容:基础语法,面向对象,多线程,IO流,GUI编程,网络编程(udp) 实现功能:局域网群聊 ...

最新文章

  1. pcl求平面法向量_线性代数6——平面方程与矩阵
  2. linux教程 sed命令的用法,Linux文本处理三剑客——sed命令使用教程
  3. 软件工程--第三周学习进度
  4. 鸿蒙公测新增6款手机,鸿蒙公测第二期报名入口 鸿蒙2.0第二期公测新增支持机型有哪些...
  5. c#窗体程序生成错误_用C#语言做的窗体程序中出错恶劣怎么办?
  6. zedboard--zynq使用自带外设IP让ARM PS访问FPGA(八) 转载
  7. vue-cli起服务chrome不能打断点——每周汇总(第一周)
  8. pythongui 三维_python图形GUI基本示例
  9. Leetcode每日一题:290.word-pattern(单词规律)
  10. SmartGit for Mac(图形化Git客户端)
  11. 十个JDBC的最佳实践
  12. VMware 12 许可密钥
  13. linux hack tool
  14. 微信支付商家转账到零钱功能使用教程
  15. DLL load failed while importing rdBase
  16. 企业微信怎么群发消息到群?企业微信客户群群发有什么限制?
  17. vol.178 美西自驾历险记 · 完结篇(下)
  18. poj 1729 Jack and Jill 1376 Robot 1324 Holedox Moving 1475 Pushing Boxes bfs + a*
  19. 个人博客-1(登录功能模块实现)
  20. iOS淘宝授权登录及跳转淘宝页面

热门文章

  1. 异构数据库中间件sequoia(c-jdbc)初体验(1.安装试运行)
  2. duet设置_Duet Display使用感受
  3. 日语输入法促音和长音的输入
  4. Spring中的一些常用注解
  5. 单出口双防火墙双核心冗余_铁路无线网络基站冗余(4)LTER
  6. Task 1 知识图谱介绍
  7. 2021年全球无线天线收入大约6724.2百万美元,预计2028年达到14740百万美元
  8. 003. EsayUI系列之easyui-linkbutton
  9. java 解析p12_java引用微信支付的p12证书文件
  10. Flink 的 算子链 和 资源组