网络通信基础入门:
在通信过程中,我们需要有一个服务器,和若干个客户端。我们要在每一个客户端和服务器之间都建立一个通道,即输入输出流。这个通道是客
户端与服务器相之间用于传输数据的通道。而服务器的作用则是将一个或多个客户端传来的信息整合,然后做出相应的处理。所以说,服务器就好像是一
只手,对客户端之间的信息传递经行操作。故在通信的过程中,我们必须至少有一个服务器。
我们一般需要以下几个步骤:
1.创建服务器与客户端:
2.连接
3.获取输入输出流
4.传输数据
1.服务器:这里我们需要用到一个类,java.net.ServerSocket,这是一个服务器类,例如:
//创建服务器
ServerSocket socket = new ServerSocket(5200);
//等待连接
Socket client = socket.accept();
就创建了一个空的服务器,并让服务器进入等待状态。当客户端与服务器创建连接后,就会返回一个服务器类,可以用于获取通道。这里的“5200”指的
是我们对于服务器所要绑定的端口,每一台电脑都会有0~65535个端口,这些端口是通信过程中每个服务器所在的区域,就像是每个学校都会有很多学院
,如果不知道我们要寻找的学院的位置,就无法联系找到学院里的人一样。对于端口,一般我们所设定的不能为0~1024之间,因为这是一个系统占用的区
间,当然,更不能超过65535了。
2.客户端:从理论上讲,只要有一个电脑在某个端口上绑定了一个服务器。并且另外一台电脑和他在同一个局域网中。那么就可以用命令提示符中的
telnet命令进入该服务器,格式为:
telnet 服务器所在电脑的IP地址 绑定的端口
然而,一般情况下我们直接用客户端类Socket,直接进入服务器经行连接,例如:
Socket client = new Socket("192,168.0.1", 5200);
这句话就是创建一个客户端,并与IP地址为192,168.0.1的电脑上的5200端口经行连接,如果连接成功,服务器与客户端就会有一个通道,我们可以用流
来获取通道。
3.通道:获取通道,在服务器中,当accept();运行后,会返回一个客户端类,这就是与服务器建立连接的那个客户端,我们可以用这个客户端来创建输
入输出流。而在客户端中,自己本身就是个客户端,故可以直接用自己的客户端创建输出输出流。
4.连接:当服务器和客户端之间的联系都准备就绪后,就可以传输数据了。申明一下,服务器与客户端之间并不是对立的个体,服务器只是一个工具,一
个用于处理数据的工具而已,但却是整个通信的核心。因为客户端之间是没有连接通道的,必须通过服务器来操控。服务器的操控行为,直接影响到数据
的传输的意义,例如这串数据是表示的是一条信息,还是一条直线,还是一张图片,都是由通信协议的制定,并由服务器处理成有效数据,传给其他客户
端的。
5.通信协议:在数据传输中,最底层的传输都是通过字节的传输来完成的。这样一来,就会导致一个问题,当我得到一堆字节的时候,每个字节所代表什
么意思呢?这就需要协议的制定。比如传输一幅图,和前面的“哈夫曼压缩”一样,压缩和解压要形成一种规定,通信传输也一样,我们是先传输的长或
者先传输高,这都是一种协议,有了这些协议,才能将数据清除的传输,并且让人能够读懂。
实践:
那么下面让我们开始做一个简单的聊天吧!
- 大小: 28.7 KB
分享到:
相关推荐
京动力节点-Java编程零基础教程-001-编程基础-基本概念-语言、程序、编程.mp4 北京动力节点-Java编程零基础教程-002-编程基础-基本概念-编译.mp4 北京动力节点-Java编程零基础教程-003-编程基础-基本DOS操作.mp4 ...
Java基础入门--教学课件--PPT
Java编程实训 Java开发基础入门教程1-02 Java编程基础(共61页).ppt Java编程实训 Java开发基础入门教程1-03 自定义方法(共14页).ppt Java编程实训 Java开发基础入门教程1-04 面象对象编程初步-类和对象(共54页...
Java编程实训 Java开发基础入门教程1-02 Java编程基础(共61页).ppt Java编程实训 Java开发基础入门教程1-03 自定义方法(共14页).ppt Java编程实训 Java开发基础入门教程1-04 面象对象编程初步-类和对象(共54页...
JAVA语言入门.exeJAVA语言入门----JAVA语言入门.exeJAVA语言入门----JAVA语言入门.exe
Java编程实训 Java开发基础入门教程1-02 Java编程基础(共61页).ppt Java编程实训 Java开发基础入门教程1-03 自定义方法(共14页).ppt Java编程实训 Java开发基础入门教程1-04 面象对象编程初步-类和对象(共54页...
Java编程实训 Java开发基础入门教程1-02 Java编程基础(共61页).ppt Java编程实训 Java开发基础入门教程1-03 自定义方法(共14页).ppt Java编程实训 Java开发基础入门教程1-04 面象对象编程初步-类和对象(共54页...
Java编程实训 Java开发基础入门教程1-02 Java编程基础(共61页).ppt Java编程实训 Java开发基础入门教程1-03 自定义方法(共14页).ppt Java编程实训 Java开发基础入门教程1-04 面象对象编程初步-类和对象(共54页...
Java编程实训 Java开发基础入门教程1-02 Java编程基础(共61页).ppt Java编程实训 Java开发基础入门教程1-03 自定义方法(共14页).ppt Java编程实训 Java开发基础入门教程1-04 面象对象编程初步-类和对象(共54页...
Python入门-基础知识-背记手册-使用说明Python入门-基础知识-背记手册-使用说明Python入门-基础知识-背记手册-使用说明Python入门-基础知识-背记手册-使用说明Python入门-基础知识-背记手册-使用说明Python入门-基础...
Java编程实训 Java开发基础入门教程1-02 Java编程基础(共61页).ppt Java编程实训 Java开发基础入门教程1-03 自定义方法(共14页).ppt Java编程实训 Java开发基础入门教程1-04 面象对象编程初步-类和对象(共54页...
java论文-网络通信java论文-网络通信java论文-网络通信java论文-网络通信java论文-网络通信java论文-网络通信
Java程序设计课程实验1-Java入门Java程序设计课程实验1-Java入门Java程序设计课程实验1-Java入门Java程序设计课程实验1-Java入门Java程序设计课程实验1-Java入门Java程序设计课程实验1-Java入门Java程序设计课程实验...
java基础教程----精华版,不得不下载的资源
Java语言程序设计-基础篇-中文ppt-第十九章
Java+Web开发教程----入门与提高篇(JSP+Servlet)》附赠电子资料
JAVA-基础入门教程JAVA-基础入门教程JAVA-基础入门教程JAVA-基础入门教程
Java RPC通信机制之XML-RPC
Spring基础讲义-java 入门必备Spring基础讲义-java 入门必备Spring基础讲义-java 入门必备Spring基础讲义-java 入门必备Spring基础讲义-java 入门必备Spring基础讲义-java 入门必备Spring基础讲义-java 入门必备...
《Java项目开发实践---网络篇》的例子