Socket
Posted 后端初学者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Socket相关的知识,希望对你有一定的参考价值。
每天一篇好文章系列18年第195期
Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket。像大家熟悉的QQ、MSN都使用了Socket相关的技术。
1
一、什么是Socket编程?
Socket编程就是常说的网络通讯编程,套接字编程。一般应用于软件聊天通讯,以及软件与硬件之间的通讯。
Socket套接字:
Socket原理机制:
通信的两端都有Socket
网络通信其实就是Socket间的通信
数据在两个Socket间通过IO传输
2
二、socket套接字
流式套接字(SOCK_STREAM):提供了一种可靠的、面向连接的双向数据传输服务。实现了数据无差错,无重复的发送,内设流量控制,被传输的数据被看做无记录边界的字节流
数据报套接字(SOCK_DGRAM):提供了一种无连接、不可靠的双向数据传输服务。数据以独立的包形式被发送,并且保留了记录边界,不提供可靠性保证。数据在传输过程中可能会丢失或重复,并且不能保证在接收端数据按发送顺序接收。
原始套接字(SOCK_RAW):该套接字允许对较低层协议(如IP或ICMP)进行直接访问。
3
三、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编程的流程。
本文转自
博客园
Java Socket编程----通信是这样炼成的
相关阅读推荐
深入了解请点击下方阅读原文
以上是关于Socket的主要内容,如果未能解决你的问题,请参考以下文章