郁金香外挂技术-郁金香灬老师

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

郁金香终身VIP管理员QQ150330575项目合作(有实力的+)视频教程+每月更新+QQ群
飞郁视频分享(每周更新)
查看: 239|回复: 0

Socket通信流程

[复制链接]
发表于 2019-7-2 17:18:03 | 显示全部楼层 |阅读模式
Socket通信流程
Socket可理解为一种特殊的文件,在服务器和客户端各自维护一个文件,并使用SocketAPI函数对其进行文件操作。在建立连接打开后,可以向各自文件写入内容供对方读取或读取对方内容,通信结束时关闭文件。在UNIX哲学中“一切皆文件”,文件的操作模式基本为“打开-读写-关闭”三大步骤,Socket其实就是这个模式的一个实现。


Socket通信流程
服务器

服务器根据IP地址类型(IPv4/IPv6)、Socket 类型和协议创建套接字
服务端为 Socket 绑定 IP 地址和端口号
服务端 Socket 监听端口请求,随时准备接收客户端发来的连接,此时 socket 并未被打开。
客户端

客户端打开 Socket,根据服务器 IP 地址和端口试图连接服务端的Socket。
服务器Socket接收到客户端Socket请求,被动打开开始接收客户端请求,直到客户端返回连接信息,此时 Socket 进入阻塞状态。
交互过程

客户端连接成功向服务端发送连接状态信息
服务端 Accept 返回连接成功
客户端向 Socket 写入数据
服务端读取数据
客户端关闭
伯克利SocketAPI
历史

Berkeley sockets 也称为BSD Socket
1983 BSD Socket4.
1989 UNIX均采用
2008 成为POSIX标准
头文件

sys/socket.h 函数和数据结构定义
netinet/in.h IPv4和IPv6xiangguan协议
sys/un.h UNIX机器间通信
arpa/inet.h 处理数字从操作系统字节序到网络字节序
netdb.h 映射服务到IP地址
SocketAPI函数
socket()
int socket(int domain, int type, int protocol)
作用:
创建套接字,根据指定地址、数据类型、协议分配一个套接字的描述字及所用资源。

参数:

domain
协议簇/域,通常为AF_INET(IPv4)、AF_INET6(IPv6)
type
套接字类型,主要是SOCK_STREAM(TCP)、SOCK_DGRAM(UDP)
protocol
通常为0
Socket有3种类型

流式 SOCK_STREAM
流失套接字提供可靠的、面向连接的通信流,使用TCP协议从而保证数据传输的正确性和顺序性。
数据报SOCK_DGRAM
数据包套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,不保证是可靠的无差错的,使用数据报协议UDP。
原始SOCK_RAW
原始套接字允许对底层协议如IP或ICMP进行直接访问,功能强大但使用不便,主要用于协议开发。
返回值:
成功时返回非负整数

bind()
作用:绑定socket到IP地址和端口

listen()
作用:服务器监听客户端的连接

connect()
作用:客户端连接到服务器

accept()
作用:应用程序接收完成3次握手的客户端连接

send()
recv()
write()
read()
close()
作用:关闭socket

gethostbyname()
限制:IPv4专用

gethostbyaddr()
限制:IPv4专用

select()
poll()
作用:处理多个连接的读写和错误状态

getsocketopt()
作用:获得对应socket的选项值

setsocketopt()
作用:设置对应socket的选项值
---------------------
作者:weixin_33701251
来源:CSDN
原文:https://blog.csdn.net/weixin_33701251/article/details/86809153
版权声明:本文为博主原创文章,转载请附上博文链接!

郁金香外挂教程,学习中...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

限时限量优惠

QQ|小黑屋|手机版|郁金香外挂技术-郁金香灬老师 ( 苏ICP备10059359号 )

GMT+8, 2019-7-24 16:28 , Processed in 0.438305 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表