【马士兵】笔记_Java网络编程
有道云笔记 连接:
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编程,开发时,一般是Server和Client同时编写,互相参照;测试时,一般是先启Server,再测Client。
127.0.0.1:本机IP。
Client端在申请连接Server端时,只需确定Server端的端口,client端的端口是随机拿取的。
ServerSocket的编写:Server需要不间断运行,时刻等待Client的请求,所以ServerSocket时刻监听在其初始化的端口号上。accept()方法是阻塞式的。(另一个阻塞式的方法是readLine(),读取终端输入;DataInputStream的readUTF()方法也是阻塞式的)Java1.4以前都是同步式的(阻塞),5.0以后提供了异步式的。
上例,Client和Server都在读和写,需要一个先读后写、一个先写后读。
UDP编程,没有Client和Server之分,只是角色上划分。
上例,Client端把一个字符串(String)转换成字节数组(Byte[]),发给Server,Server端把接受到的字节数组存于一个DatagramPacket构建的内存区域里,然后再把它解析成字符串,打印出来。
与UDP结合使用较多的IO流:ByteArrayOutputStream、DataOutputStream等。
【马士兵】笔记_Java网络编程相关推荐
- 黑马程序员_java自学学习笔记(八)----网络编程
黑马程序员_java自学学习笔记(八)----网络编程 android培训. java培训.期待与您交流! 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无 ...
- 【java笔记】网络编程概述
[java笔记]TCP通信程序_m0_52043808的博客-CSDN博客 [java笔记]网络编程:文件上传案例_m0_52043808的博客-CSDN博客 网络编程: 在一定协议下,实现两台计算机 ...
- Netty学习笔记二网络编程
Netty学习笔记二 二. 网络编程 1. 阻塞模式 阻塞主要表现为: 连接时阻塞 读取数据时阻塞 缺点: 阻塞单线程在没有连接时会阻塞等待连接的到达,连接到了以后,要进行读取数据,如果没有数据,还要 ...
- connect: 网络不可达_Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制
本文转自:https://github.com/jasonGeng88/blog 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https ...
- Qt学习笔记之网络编程
Qt网络模块提供了允许您编写TCP / IP客户端和服务器的类.它提供了代表低级网络概念的低级类(例如QTcpSocket,QTcpServer和QUdpSocket),以及高级类(例如QNetwor ...
- java 网络编程 博客园_java网络编程
1.计算机网络基础 OSI参考模型(开放系统互连参考模型): 物理层:物理层处于OSI的最底层,是整个开放系统的基础.物理层涉及通信信道上传输的原始比特流(bits),它的功能主要是为数据端设备提供传 ...
- java 网络编程 聊天_Java——网络编程(实现基于命令行的多人聊天室)
目录: 1.ISO和TCP/IP分层模型 2.IP协议 3.TCP/UDP协议 4.基于TCP的网络编程 5.基于UDP的网络编程 6.基于TCP的多线程的聊天室的实现 1.ISO和TCP/IP分层模 ...
- java运用网络编程技术代码_Java 网络编程
java网络编程 1.什么叫计算机网络? 由不同地理位置的不同计算机主机,连接起来组成的网络. 2.什么叫网络编程? 在网络的基础上,使用网络进行编程,对应用层进行设计的活动. 3.网络编程三要素:I ...
- java网络编程阻塞_Java网络编程由浅入深三 一文了解非阻塞通信的图文代码示例详解...
本文详细介绍组成非阻塞通信的几大类:Buffer.Channel.Selector.SelectionKey 非阻塞通信的流程ServerSocketChannel通过open方法获取ServerSo ...
最新文章
- Swift学习笔记-协议(Protocols)
- python 异常处理 try except
- Python 技巧篇-如何避免python报错导致强制关闭窗口
- Technical news July-11
- python在租房过程中的应用
- 做一个有胆识的有为青年
- GitKraken - 简单教程
- java第一次课必修实验答案,Java第一次实验报告
- Tensorflow安装GPU环境
- JVM教程:JM内存分哪几个区,每个区的作用是什么?
- [HNOI2015]开店
- Webpack学习大纲
- php获取qqkey源码,易语言取QQKEY源码
- python调用高德地图地理编码/逆地理编码
- CSMA/CA精辟总结
- [学习笔记] Python【第031讲:永久存储:腌制一缸美味的泡菜】总结
- 计算机一级 单元格尺寸设置,如何调整设置excel表格单元格大小一样大
- 研究第一台电子计算机的过程,世界上第一台计算机诞生的过程
- 微博小米鸿蒙,华为确定鸿蒙OS全面开源,小米会... - @V黑猫评测 的微博精选 - 微博国际站...
- Codeforces Round#539(Div. 2)
热门文章
- 后羿采集器怎么导出数据_后羿采集器如何采集历史天气数据这类直接就是表格的数据?...
- 随身理财专家“挖财”推iPad应用,新增帐号对比功能
- Apache基于域名、端口、IP的虚拟主机配置(Centos 6.5)
- esp32学习笔记(4)——adc
- 爱普生L4158使用评测及小白智慧打印离线解决办法
- MTK平台修改开机动画,开机logo
- 分享一款老照片修复神器
- Python初遇问题5.16
- sqlserver linux版本查询,sqlserver 各版本信息
- 已解决!element-UI 父子组件嵌套使用dilog导致蒙版混乱解决方案!