进入java通信阶段快一个月了 ,最初的感觉通信是一个很高深,很难懂,很有技术的知识体系,因为在学习之前接触过通信的小项目,看着感觉一头雾水,但是从开始学习之后发现其实通信并没有想象的那么难
其实开始的迷惑主要是怎么通过网络进行连接,并没有怎么去考虑通信的机理。
从开始的一些命令逐渐的了解了网络通信的基础知识,逐渐的有了 一些网络通信的思想,脑袋里对于通信的理解思路也越来越有条理。
从开始的:ping 用来测试对于一个已知的链接是否 建立(ping www.baidu.com )
telnet+ip+端口 是查看端口是不是开启或者连接上已知的IP的端口号
tracert 域名或者IP 是查看链接这个网站经过了哪个端口
(tracert www.baidu.com )
netstat 是查看机器的端口连接状态和跟其他地址连接的状态
知道了一些基本的方法,对于通信的神秘很深奥感也慢慢的变得淡了,开始逐渐的去思考通信的一些基本的机理。其实对于网络通信与平时我们的一些方法没有什么区别,唯一的不同是,机器接到的信息不再是自己在电脑上输入的,或者不是自己的电脑上原有的,而机器得到的信息是从一个专有的通信的通道传入进去给机器来执行
说白了其实网络通信我们在客户端或者是服务器上所做的事情如果独立起来就是相当于我们以前接触的file里面的用文件输入输出流向文件里输入和输出事情。而想把它当做一个网络通信我们还需要做的就是怎么把我们在客户端或者是服务器上想要写入的文件的信息通过一个特定的方式来传给对方,让对方得到我们要写入的数据。
而在java中提供了一个方法来创建一个服务器
ServerSocket server = new ServerSocket(port);(这里的port是要开的端口号)
对于端口号我们的理解其实就是一段缓存,而因为我们用的32位机最大的位数就是 65535所以端口号的范围就是(0,65535)其中对于(0,1024)是系统的运行所占 用的端口号
Socket client = server.accept() ;
这个方法就是当有客户端接入前 让服务器阻塞或者等待着客户端的接入
通过 // 创建输入流
InputStream in = sort.getInputStream();
// 创建输出流
OutputStream ou = sort.getOutputStream();
来得到客户端和服务器之间的通道的输入和输出流
这样建立了连接之后我们所要做的就是之前我们做的文件的写入和写出。
java的学习到通信阶段渐渐的有了自己的想法和自己的思路。对于java的编程也慢慢地理解深入了