浅谈网络通信
暑假集训这段时间,我们重点学习了网络通信。还没有接触网络通信时,我认为网络通信是一件很神奇的事情。你看看,现在几乎所有的应用软件都是基于网络的,可想而知,网络通信是多么的重要。抱着对通信的几分期待的同时,我想,这网络通信是不是很难学呢?
在老师没讲课之前,我拿了那本刚刚发的书看了一下。首先我觉得通信做的事情多了,因为通信是双方的事情。所以,要完成一个通信项目,至少得有两个模块要被搭起来,一个是服务器,另一个就是客户机。由于刚刚开始对这方面很好奇,所以,我就按照书上的,一遍遍的抄代码,慢慢理解。但是,抄来抄去,我感觉就那几句话,就那么一个套路,是死的东西。这时候我就想,肯定是有什么细节书上没提到。
// 创建服务器对象
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
浅谈网络通信技术在实际生活中的应用.pdf
精品教育教学资料
计算机远程网络通信技术的应用浅谈-通信技术-通信传播.pdf
浅谈嵌入式网络通信技术.pdf
浅谈现代网络通信技术之卫星通信.pdf
浅谈计算机网络安全技术及防范 摘要 21世纪以来,人类经济高速发展,人们生活发生了日新月异的变化,特别是计算机 的应用及普及到经济和社会生活的各个领域。随着计算机在社会生活各个领域的广泛运 用,计算机已普遍...
浅谈无线网络通信技术的发展.pdf
浅谈计算机网络通信技术发展趋势.pdf
光纤是通信网络的优良传输介质,光纤通信是以很高频率(1014Hz数量级)的光波作为载波、以光纤作为传输介质的通信,光纤通信的问世使高速率、大容量的通信成为可能,目前它已成为最主要的信息传输技术。介绍光纤通信的...
浅谈计算机网络通信技术发展之我见-通信技术-通信传播.pdf
浅谈移动通信网络优化.docx
浅谈计算机远程网络通信技术应用.pdf
浅谈现代网络通信技术的发展与应用.pdf
浅谈通信电源集中监控系统中的网络通信技术.pdf
浅谈计算机网络通信技术的故障分析与处理.pdf
浅谈现代网络通信技术的发展趋势与应用.pdf
机场自动气象观测系统网络通信技术浅谈.pdf
浅谈电力通信网络管理系统的建设.doc
浅谈配网自动化网络通信技术的应用.pdf