Socket通信详解
详细介绍socket通信
Socket
1.用于描述IP地址和端口,是一个通信链的句柄。
2.socke是建立网络连接时使用的,在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。
3.Socket的连接过程:
1)服务器监听,是服务器端套接字并不定位具体的客户端套接字,而是出于等待连接的状态,实时监控网络状态。
2)客户端请求,是指有你客户端的套接字提出连接请求,要连接的目标是服务器的套接字。为此,客户端的套接字必须首先描述它(客户端套接字)所要连接的服务器的套接字,指出服务器套接字的地址,端口号。然后向服务器发出连接请求。
3)连接确认,是指当服务器端的套接字监听到或者说接到客户端套接字的连接请求,服务器端的套接字就建立起一个新的线程,把服务器端的套接字的描述发给客户端,一旦客户端确认了此描述有效,连接就建立好了。而,服务器端套接字继续处于监听状态,继续接受其他客户端套接字的连接请求。
4.常用Socket的类型:
1)流式Socket(SOCKET_STREAM)
流式是面向连接的TCP服务应用2)数据报式Socket(SOCKET_DGRAM)
数据报是无连接的UDP应用
5.Socket相关的函数
1)int connect(SOCKET s,const struct sockaddr FAR *name,int namelen);
客户端socket通过该函数和服务器端socket连接,如果连接成功返回0,否则返回SOCK_ERR2)int listen(SOCKET s,int backlog );
服务器端socket用来监听是否有来自客户端的socket的信号3)SOCKET accept(SOCKET s, struct sockaddr FAR *addr,int FAR *addrlen); 服务器调用该函数用来在Listen到得客户端请求序列中取第一个接受请求,并创建一个新的客户套接字连接通道,如果连接成功,就返回新创建的套接字的描述符,如果失败,则返回INVALID_SOCKET4)int send(SOCKET s,const char FAR *buf,int len,int flags);
发送数据5)int recv(SOCKET s,char FAR *buf,int len,int flags);
接收数据
6.Socket的使用步骤
#include <winsock2.h>//#include <windows.h>#pragma comment(lib,"ws2_32.lib")
1).建立一个socket
例如:
socket s1;
第 1 页
你可能喜欢
- HTTP协议详解
- C#编程实例
- Socket编程
- C#从入门到精通
- TCP协议
- 路由算法
- HTTP协议详解12页
- HTTP协议的头信息详解16页
- HTTP协议报头信息详解6页
- HTTP协议详解25页
- HTTP协议详解(博客园)24页
- HTTP协议详解17页
- C# 编程实现telnet 过程实例2页
- ArcGIS+Engine+C#编程实例开发教程67页
- C#编程实例7页
- C#编程宝典实例2章4页
- C#编程中的多线程处理实例9页
- C#编程实例代码之一 自动关机小程序11页
- MFC对Socket编程的封装类简介4页
- Java Socket编程11页
- Socket编程8页
- 简要介绍一下Android中Socket套接字编程7页
- 第11章 Socket编程8页
- C语言实现Socket编程2页
- C#从入门到精通517页
- C#基本语法详解大全完整版基础入门教程-从入门到精通3页
- Visual C# 从入门到精通学习笔记19页
- C#从入门到精通目录1页
- C#从入门到精通7页
- C#socket编程从入门到精通31页
- 嵌入式TCP_IP协议栈的研究与开发_李明26页
- 第9章_TCP协议37页
- TCP协议优化在互联网行业的应用29页
- TCP与UDP协议25页
- 基于TCP/IP协议的网络层次化安全技术分析2页
- TCP-IP协议解析20页
- 路由算法分类比较11页
- lec11-路由选择算法46页
- 第4章 路由选择算法74页
- 基于位置信息的WSN数据汇聚路由算法5页
- 梯度路由算法17页
- 路由查找算法研究与分析2页


