浅谈网络通信
暑假集训这段时间,我们重点学习了网络通信。还没有接触网络通信时,我认为网络通信是一件很神奇的事情。你看看,现在几乎所有的应用软件都是基于网络的,可想而知,网络通信是多么的重要。抱着对通信的几分期待的同时,我想,这网络通信是不是很难学呢?
在老师没讲课之前,我拿了那本刚刚发的书看了一下。首先我觉得通信做的事情多了,因为通信是双方的事情。所以,要完成一个通信项目,至少得有两个模块要被搭起来,一个是服务器,另一个就是客户机。由于刚刚开始对这方面很好奇,所以,我就按照书上的,一遍遍的抄代码,慢慢理解。但是,抄来抄去,我感觉就那几句话,就那么一个套路,是死的东西。这时候我就想,肯定是有什么细节书上没提到。
// 创建服务器对象
ServerSocket server = new ServerSocket(port);
System.out.println("服务器创建成功在端口" + port);
// 等待客户端连接
Socket s = server.accept();
到了胡老师上课,第一节课他就开门见山的指出,网络通信如果说有新的东西的话,那么就是一句话,一个套路。至于你想把通信做成什么样子,那都是靠前面的知识了。反正第一结课我觉得好无聊,就那么几句话整来整去的。到了第二节课以后,我才明白网络通信的精髓。通信就是两个人打电话,首先肯定是个套路,要建立连接。然后就是两个人之间的信息交互。所以说重点就落在信息交互这一块了。
// 获取输入输出流对象
dis = new DataInputStream(client.getInputStream());
dos = new DataOutputStream(client.getOutputStream());
两个人打电话时怎么知道对方讲的是什么呢?他们首先了解对方的语言。听的懂,电话打的才有意义。否则打电话干什么呢?而怎么才能让服务器和客户机能正常的交流呢?这里就引入了一个协议的概念。
/**
* 处理客户端发送的信息
*/
public void recvMsg() {
try {
while (true) {
// 读取信息类型
int shape = dis.readByte();
switch (shape) {
case 0:// 接收到的是一个字符串消息
int len = dis.readByte();// 字符串长度
String s = "";
for (int i = 0; i < len; i++) {
s += dis.readChar();
}
ta.append(s);
System.out.println("服务器接受到:" + s);
break;
case 1:// 接受到一条直线
int x1 = dis.readInt();
int y1 = dis.readInt();
int x2 = dis.readInt();
int y2 = dis.readInt();
g.drawLine(x1, y1, x2, y2);
break;
case 2:
break;
case 255:// 与服务器断开连接
System.out.println("客户端断开连接");
client.close();
break;
}
}
} catch (Exception ef) {
ef.printStackTrace();
}
}
首先要明白的就是,双方必须遵守协议才能通信。就像打电话一样,我在这边说汉语,你在那边说英语(假设双方只懂一门语言),我根本就不知道你在说什么,你也不知道我在说什么,通信就根本没通起来。所以如果要让通信通起来的话,必须要有一门共同的语言支持,对服务器和客户端来说这就叫协议。
总体来说呢,通信我主要就花时间在处理协议这一块。学习协议给我的感受就是,无规矩不成方圆,自由是建议在规则之上的。
分享到:
相关推荐
浅谈网络通信技术在实际生活中的应用.pdf
【网络通信技术的应用和发展】 网络通信技术是信息技术领域的重要组成部分,它通过5G等新一代通信技术,推动了全球的信息技术革命。随着5G的普及,网络通信技术不仅改变了人机交互方式,还深入到电子商务、生产制造...
计算机远程网络通信技术的应用浅谈 计算机远程网络通信技术是指通过计算机网络实现远程的数据传输和交流,具有非常广泛的应用前景。随着我国信息技术在全球经济市场不断发展,计算机远程网络通信技术也得到很好的...
精品教育教学资料
《浅谈无线网络通信技术的发展》 随着科技的飞速进步,无线网络通信技术已成为现代社会不可或缺的一部分,它在各个领域中的应用不断拓展,从航空航天、军事到日常生活的方方面面,都离不开无线通信技术的支持。本文...
浅谈计算机网络通信技术发展之我见 计算机网络通信技术是当今社会中的重要组成部分,对于社会经济的发展和人们的生活产生了重要影响。随着科学技术的飞速发展,计算机网络通信技术的作用越发重要,也呈现出多元快速...
浅谈计算机网络安全技术及防范 摘要 21世纪以来,人类经济高速发展,人们生活发生了日新月异的变化,特别是计算机 的应用及普及到经济和社会生活的各个领域。随着计算机在社会生活各个领域的广泛运 用,计算机已普遍...
计算机网络通信技术是现代社会的重要基石,它结合了计算机科学和通信工程的精华,为全球范围内的信息交换提供了高效、快捷的平台。这一领域的不断发展,不仅推动了信息技术的进步,也对社会经济产生了深远影响。 ...
嵌入式网络通信技术是现代信息技术领域中的一个重要分支,它涉及到微控制器(MCU)、实时操作系统(RTOS)以及局域网等多个技术层面。这种技术的主要特点是将网络通信功能嵌入到特定的硬件设备或系统中,实现设备间...
光纤是通信网络的优良传输介质,光纤通信是以很高频率(1014Hz数量级)的光波作为载波、以光纤作为传输介质的通信,光纤通信的问世使高速率、大容量的通信成为可能,目前它已成为最主要的信息传输技术。介绍光纤通信的...
【现代网络通信技术概述】 现代网络通信技术是信息技术的核心组成部分,它融合了计算机网络与通信技术,极大地推动了社会信息化进程。随着科技的飞速发展,网络通信技术在各行各业的应用日益广泛,尤其在电力系统、...
浅谈通信电源集中监控系统中的网络通信技术.pdf
计算机网络通信技术是现代社会不可或缺的一部分,它支撑着我们的工作、学习和生活的方方面面。然而,随着技术的广泛应用,网络通信故障的出现成为了一项亟待解决的问题。本文将深入探讨计算机网络通信技术中常见的...
浅谈现代网络通信技术的发展趋势与应用.pdf
《浅谈数字家庭网络通信》 随着科技的飞速进步,宽带网络的普及与房地产市场的繁荣,数字家庭网络通信已成为现代家庭生活的重要组成部分。传统的家庭通信模式正逐步被以多媒体通信、娱乐、安防和智能家居控制为核心...
《机场自动气象观测系统网络通信技术浅谈》这篇文章探讨了在网络通信技术在民航机场自动气象观测系统中的关键应用。随着民航自动化技术的迅速发展,自动气象观测系统在提供实时气象信息方面扮演着至关重要的角色。...
本文主要探讨了计算机远程网络通信技术的应用及其在不同领域的影响力。随着互联网的普及,数字电子技术在通信领域扮演着越来越重要的角色,提升了信号处理和传输的安全性与效率。 首先,数字电子技术在信号处理中...
"卫星通信技术概述及应用" 卫星通信是指利用人造地球卫星作为中继站转发...卫星通信技术是现代网络通信技术的重要组成部分,具有广泛的应用前景。随着技术的不断发展,卫星通信将会在各个领域发挥着越来越重要的作用。
浅谈计算机通信网络安全维护.docx
网络通信与信息安全浅谈-信息安全-计算机.pdf