`
原非珏
  • 浏览: 9805 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

网络通信基础

 
阅读更多
  首先要说的是通信的概念,指人与人之间通过媒介进行信息的交流和共享,进而网络通信是特指的是网络,或者说计算机网络这个媒介。QQ应该是我们很熟悉的一个例子。从一个用户的消息框输入一句话发送给另一个用户其消息框能显示收到的消息。看似是一个客户发给另一个客户但是事实上还有一个腾讯在中间起着重要作用。也就是指客户Client/服务器Server模式:Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。明确一点,凡是提供服务的一方我们称为服务端(Server),而接受服务的另一方我们称作客户端(Client)。
    之后可以在java里找服务器和客户端,对应的是java里的两个类ServerSocket类和Socket,创建一个java.net.ServerSocket服务器对象:java.net.ServerSocket server =new java.net.ServerSocket(prot),其中prot指的是端口号, 每一台机器都有0~65535端口号,其中的每一个数字,可供一个程序通信用。创建一个java.net.Socket客户端对象,Socket client=new Socket(IP,port),其中IP是每一台机器对应的其独立的IP地址。两者通过服务器的accept()方法连接。发送的时候通过输入输出流进行读写。在实现基本的信息的基础上,我们可以用界面来显示输入框,信息显示框,在服务器上还可以有对用户管理的条框。
    接下去,实现中文信息的发送以及文件的传送。因此在此基础上要扩展,采用协议的方式。将信息按一定的方式进行封包,再解包。要注意协议的语法和语义的统一对应。这些都是可以深入完善的地方。
    最后要提一些感想,写代码的时候要注意架构和注释,条理性要有不然的话会出现找不着的情况,尤其在不断完善的过程中这种细心会显得重要。再者对于耦合性也要注意,不能改一处的代码引起其他结构散架的情况。还有相互之间的探讨远比一个人考虑的全面不过操作过程中沟通十分重要。最后的最后一句名言没有最好只有更好。
   
   
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics