Socket

Posted 后端初学者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Socket相关的知识,希望对你有一定的参考价值。

每天一篇好文章系列18年第195

编者按    

 Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket。像大家熟悉的QQ、MSN都使用了Socket相关的技术。

1



一、什么是Socket编程?

       Socket编程就是常说的网络通讯编程,套接字编程。一般应用于软件聊天通讯,以及软件与硬件之间的通讯。

Socket套接字:

Socket原理机制:

通信的两端都有Socket

网络通信其实就是Socket间的通信

数据在两个Socket间通过IO传输  


Socket



    2    

 

二、socket套接字

流式套接字(SOCK_STREAM):提供了一种可靠的、面向连接的双向数据传输服务。实现了数据无差错,无重复的发送,内设流量控制,被传输的数据被看做无记录边界的字节流

数据报套接字(SOCK_DGRAM):提供了一种无连接、不可靠的双向数据传输服务。数据以独立的包形式被发送,并且保留了记录边界,不提供可靠性保证。数据在传输过程中可能会丢失或重复,并且不能保证在接收端数据按发送顺序接收。

原始套接字(SOCK_RAW):该套接字允许对较低层协议(如IP或ICMP)进行直接访问。




    3    

 

三、socket通信的基本步骤

Socket

1、Socket通信的步骤

(1)创建ServerSocket和Socket

(2)打开连接到Socket的输入/输出流

(3)按照协议对Socket进行读/写操作

(4)关闭输入输出流、关闭Socket

2、服务器端:

(1)创建ServerSocket对象,绑定监听端口

(2)通过accept()方法监听客户端请求

(3)连接建立后,通过输入流读取客户端发送的请求信息

(4)通过输出流向客户端发送乡音信息

(5)关闭相关资源

3、客户端:

(2)连接建立后,通过输出流想服务器端发送请求信息

(3)通过输入流获取服务器响应的信息

(4)关闭响应资源




        

点评:从网络基础开始介绍,结合实例demo,帮助我们理解socket编程的流程。


Socket

本文转自

博客园

Java Socket编程----通信是这样炼成的


Socket       想要了解更多信息可以持续关注本公众号,每天一篇好文章,助你早日变成一 名合格的程序猿~

相关阅读推荐








深入了解请点击下方阅读原文


以上是关于Socket的主要内容,如果未能解决你的问题,请参考以下文章

socket通信

java实例检查端口是否被占用

网络通信与Socket

分布式理论,架构设计Socket和IO模型

分布式理论,架构设计Socket和IO模型

android做一个简单上传文件的功能,socket连接问题