Socket

Socket

socket是套接字,多指传输层网络接口。

Socket和SocketServer是基于套接字的服务端和客户端实现

webSocket,是一个应用层协议,说的是,目前浏览器实现的一套通信协议,用来解决之前HTTP,请求响应模型不合适的场合。

Socket和SocketServer是服务端和客户端的区别

1. 服务器端程序设计

在服务器端,利用ServerSocket类的构造函数ServerSocket(int port)创建一个ServerSocket类的对象,port参数传递端口,这个端口就是服务器监听连接请求的端口,如果在这时出现错误将抛出IOException异常对象,否则将创建ServerSocket对象并开始准备接收连接请求。

服务程序从调用ServerSocket的accept()方法开始,直到连接建立。在建立连接后,accept()返回一个最近创建的Socket对象,该Socket对象绑定了客户程序的IP地址或端口号。

2.客户端程序设计

当客户程序需要与服务器程序通信时,需在客户机创建一个Socket对象。Socket类有构造函数Socket(InetAddress addr,int port)和Socket(String host,intport),两个构造函数都创建了一个基于Socket的连接服务器端流套接字的流套接字。对于第一个InetAd-dress子类对象通过addr参数获得服务器主机的IP地址,对于第二个函数host参数包被分配到InetAddress对象中,如果没有IP地址与host参数相一致,那么将抛出UnknownHostException异常对象。两个函数都通过参数port获得服务器的端口号。假设已经建立连接了,网络API将在客户端基于Socket的流套接字中捆绑客户程序的IP地址和任意一个端口号,否则两个函数都会抛出一个IOException对象。

如果创建了一个Socket对象,那么它可通过get-InputStream()方法从服务程序获得输入流读传送来的信息,也可通过调用getOutputStream()方法获得输出流来发送消息。在读写活动完成之后,客户程序调用close()方法关闭流和流套接字。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、网络各个协议:TCP/IP、SOCKET、HTTP等 网络七层由下往上分别为物理层、数据链路层、网络层、传输层...
    杯水救车薪阅读 2,315评论 0 17
  • 一: 网络各个协议:TCP/IP、SOCKET、HTTP 网络七层由下往上分别为物理层、数据链路层、网络层、传输层...
    iYeso阅读 1,464评论 0 13
  • 昨天中秋,一年一度的团圆日。中午去食堂买饭,一半摊位都是关着的。食堂大妈想必也要过节吧。读书馆大门紧闭,校园尽...
    凉喜阅读 487评论 0 0
  • 不知从什么时候开始,朋友圈“浪”这个字出现得特别频繁,曾几何时,“浪”代替了一切休闲娱乐的词汇。第一次听到这个词是...
    含羞的红颜阅读 1,418评论 2 1
  • 我叫曲悦齐,小名叫齐齐,从今天开始我要自己吃饭了。大家多说,自己的事情自己干。在大家的鼓励下,现在坚持了第10多天...
    牡丹花开_0966阅读 390评论 0 0