有道云笔记 连接:

http://note.youdao.com/noteshare?id=73a73d444af9b9165649e572f9f1feb4

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以下可忽略:


Java网络编程》

与《Java IO流》联系比较紧密。有时涉及到多线程。

分层思想、IP、TCP/UDP编程(写法比较固定、跟IO等的结合使用)。

网关:连接外网与内网的计算机。IP地址(真实IP)是有限的,经常的办法是:将若干台计算机组合成一个子网,公用一个真实IP;子网的内部把虚拟IP分给计算机(虚拟IP的分配和解析与子网掩码有关)。网关一般有两块网卡。

UDP应用(不接受延迟的,容许少量出错的):视频直播,音频传输,网络游戏。TCP应用(不容出错的):银行。

编程时自定端口号时,注意两点:1024以下的不能用,随时可能被系统争用;一些著名软件的端口,如20、8080。

注意,上面说的是TCP的端口号,实际UDP也有端口,二者可以内容一样,但是种类不同。

Socket编程,开发时,一般是ServerClient同时编写,互相参照;测试时,一般是先启Server,再测Client

127.0.0.1:本机IP

Client端在申请连接Server端时,只需确定Server端的端口,client端的端口是随机拿取的。

ServerSocket的编写:Server需要不间断运行,时刻等待Client的请求,所以ServerSocket时刻监听在其初始化的端口号上。accept()方法是阻塞式的。(另一个阻塞式的方法是readLine(),读取终端输入;DataInputStreamreadUTF()方法也是阻塞式的)Java1.4以前都是同步式的(阻塞),5.0以后提供了异步式的。

上例,ClientServer都在读和写,需要一个先读后写、一个先写后读。

UDP编程,没有ClientServer之分,只是角色上划分。

上例,Client端把一个字符串(String)转换成字节数组(Byte[]),发给ServerServer端把接受到的字节数组存于一个DatagramPacket构建的内存区域里,然后再把它解析成字符串,打印出来。

与UDP结合使用较多的IO流:ByteArrayOutputStream、DataOutputStream等。

【马士兵】笔记_Java网络编程相关推荐

  1. 黑马程序员_java自学学习笔记(八)----网络编程

    黑马程序员_java自学学习笔记(八)----网络编程 android培训. java培训.期待与您交流! 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无 ...

  2. 【java笔记】网络编程概述

    [java笔记]TCP通信程序_m0_52043808的博客-CSDN博客 [java笔记]网络编程:文件上传案例_m0_52043808的博客-CSDN博客 网络编程: 在一定协议下,实现两台计算机 ...

  3. Netty学习笔记二网络编程

    Netty学习笔记二 二. 网络编程 1. 阻塞模式 阻塞主要表现为: 连接时阻塞 读取数据时阻塞 缺点: 阻塞单线程在没有连接时会阻塞等待连接的到达,连接到了以后,要进行读取数据,如果没有数据,还要 ...

  4. connect: 网络不可达_Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制

    本文转自:https://github.com/jasonGeng88/blog 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https ...

  5. Qt学习笔记之网络编程

    Qt网络模块提供了允许您编写TCP / IP客户端和服务器的类.它提供了代表低级网络概念的低级类(例如QTcpSocket,QTcpServer和QUdpSocket),以及高级类(例如QNetwor ...

  6. java 网络编程 博客园_java网络编程

    1.计算机网络基础 OSI参考模型(开放系统互连参考模型): 物理层:物理层处于OSI的最底层,是整个开放系统的基础.物理层涉及通信信道上传输的原始比特流(bits),它的功能主要是为数据端设备提供传 ...

  7. java 网络编程 聊天_Java——网络编程(实现基于命令行的多人聊天室)

    目录: 1.ISO和TCP/IP分层模型 2.IP协议 3.TCP/UDP协议 4.基于TCP的网络编程 5.基于UDP的网络编程 6.基于TCP的多线程的聊天室的实现 1.ISO和TCP/IP分层模 ...

  8. java运用网络编程技术代码_Java 网络编程

    java网络编程 1.什么叫计算机网络? 由不同地理位置的不同计算机主机,连接起来组成的网络. 2.什么叫网络编程? 在网络的基础上,使用网络进行编程,对应用层进行设计的活动. 3.网络编程三要素:I ...

  9. java网络编程阻塞_Java网络编程由浅入深三 一文了解非阻塞通信的图文代码示例详解...

    本文详细介绍组成非阻塞通信的几大类:Buffer.Channel.Selector.SelectionKey 非阻塞通信的流程ServerSocketChannel通过open方法获取ServerSo ...

最新文章

  1. Swift学习笔记-协议(Protocols)
  2. python 异常处理 try except
  3. Python 技巧篇-如何避免python报错导致强制关闭窗口
  4. Technical news July-11
  5. python在租房过程中的应用
  6. 做一个有胆识的有为青年
  7. GitKraken - 简单教程
  8. java第一次课必修实验答案,Java第一次实验报告
  9. Tensorflow安装GPU环境
  10. JVM教程:JM内存分哪几个区,每个区的作用是什么?
  11. [HNOI2015]开店
  12. Webpack学习大纲
  13. php获取qqkey源码,易语言取QQKEY源码
  14. python调用高德地图地理编码/逆地理编码
  15. CSMA/CA精辟总结
  16. [学习笔记] Python【第031讲:永久存储:腌制一缸美味的泡菜】总结
  17. 计算机一级 单元格尺寸设置,如何调整设置excel表格单元格大小一样大
  18. 研究第一台电子计算机的过程,世界上第一台计算机诞生的过程
  19. 微博小米鸿蒙,华为确定鸿蒙OS全面开源,小米会... - @V黑猫评测 的微博精选 - 微博国际站...
  20. Codeforces Round#539(Div. 2)

热门文章

  1. 后羿采集器怎么导出数据_后羿采集器如何采集历史天气数据这类直接就是表格的数据?...
  2. 随身理财专家“挖财”推iPad应用,新增帐号对比功能
  3. Apache基于域名、端口、IP的虚拟主机配置(Centos 6.5)
  4. esp32学习笔记(4)——adc
  5. 爱普生L4158使用评测及小白智慧打印离线解决办法
  6. MTK平台修改开机动画,开机logo
  7. 分享一款老照片修复神器
  8. Python初遇问题5.16
  9. sqlserver linux版本查询,sqlserver 各版本信息
  10. 已解决!element-UI 父子组件嵌套使用dilog导致蒙版混乱解决方案!