Socket是一种网络通信机制
 
Winsock系列函数
 
1. Socket 创建socket
 
2. Connect 尝试连接远端Socket
 
3. Send 在某个Socket 向远端发送数据
 
4. Recv 接收远端数据
 
5. Closesocket 关闭连接
 
6. Listen 在某个Socket上建立监听
 
7. Accept 接收一条新的连接 (是接收连接而不是接收数据)
 
8. Bind 给一个Socket分配一个本地协议地址
 
9. Select 用于检测Socket状态,用于高级通信
 
10 .以下是IP地址相互转换函数
整数的地址到ASCII
int inet_aton(...)
char *inet_ntoa(...)
 
11. 域名地址与整数地址相互转换
struct hostent *gethostbyname(const char * name)
struct hostent *gethostbyaddr(const char *addr , int len , int family)
 
12.字节转换
u_long PASCAL PAR htonl ( IN u_long hostlong ); 本地字节转换为网络顺序(长整数)
u_short PASCAL PAR htons ( IN u_short hostlong ); 本地字节转换为网络顺序(短整数)
u_long PASCAL PAR ntohl ( IN u_long netlong); 网络顺序转换为本地字节顺序(长整数)
u_short PASCAL PAR ntohs ( IN u_short netshort ); 网络顺序转换为本地字节顺序(短整数)
 
 
 
 
一般流程 :
 
 
 
 
 
 
 
 
 
 

Winsock系列函数 及 Socket通信流程的更多相关文章

  1. Socket通信流程

    Socket通信流程 HTTP 底层就是通过socket建立连接通信管道,实现数据传输 HTTP是一个TCP的传输协议(方式),它是一个可靠,安全的协议

  2. 基本Socket通信流程

    服务器常用模型 1.初始化Socket (用于监听) 1)初始化 SOCKET s ; s =  Socket ( ... ) 2)绑定 bind(s, ...); 3)监听 listen(s, .. ...

  3. 网络编程-SOCKET开发之----3. socket通信工作流程

    1. TCP的socket通信流程 服务端 1)socket----创建socket对象. 2)bind----绑定本机ip+port. 3)listen----监听来电,若在监听到来电,则建立起连接 ...

  4. Cocos2d-X网络编程(4) Cocos2d中的网络通信协议——Socket通信

    Socket,俗称网络套接字,本身并不是协议,而是一个调用接口,是对TCP/IP协议的封装和应用,.提供了一系列方法方便开发者进行网络通讯. TCP/IP协议是使用最早的通讯协议,它是传输层协议,主要 ...

  5. PHP进程通信基础——shmop 、sem系列函数使用

    PHP进程通信基础--shmop .sem系列函数使用 进程通信的原理就是在系统中开辟出一个共享区域,不管是管道也好,还是共享内存,都是这个原理.如果心中有了这个概念,就会很方便去理解代码.由于官网上 ...

  6. 线程间使用socket通信的计算器

    该程序是处理平时的算数运算,程序也没有什么特别之处,只是将所有运算分开运算,每个函数(线程)处理不同的运算符号里面的运算,然后将所有结果都汇总到main函数中进行最后汇总(相加减)运算,每个函数内都处 ...

  7. C# Socket系列三 socket通信的封包和拆包

    通过系列二 我们已经实现了socket的简单通信 接下来我们测试一下,在时间应用的场景下,我们会快速且大量的传输数据的情况! class Program { static void Main(stri ...

  8. 什么是 socket?简述基于 tcp 协议的套接字通信流程?

    Socket的英文原义是"孔"或"插座".通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄, 可以用来实现不同虚拟机或不同计 ...

  9. 第二十六天- C/S架构 通信流程 socket

    1.C/S架构 C/S架构:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可是物理层面)来划分的.这里客户端一般指需先安装再执行的应用程序,对操作系统依赖性较 ...

随机推荐

  1. html 标签自己居中

    <div style="width: 200px; height: 200px; border: 1px solid red; margin: 0 auto;">< ...

  2. Linux内核之旅 List_entry()

    #include "iostream" #define List_entry(type,member)\ (type *)(()->data)) ) using namesp ...

  3. spark history-server的使用

    为什么需要historyServer? 在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息:但该WEBUI随着Application的完成(成功/失 ...

  4. webpack 无法安装

    命令行输入:  npm install webpack -g 解决办法:增加环境变量  D:\nine\trunk\node_modules\.bin\ bin目录下有webpack.cmd 如果还是 ...

  5. RC-50221 问题解决 - netstat 查看端口占用情况

    查看端口占用情况   netstat -an|grep LIST|grep 15     数据库监听占用情况. netstat -an|grep 1521                  1521为 ...

  6. 夺命雷公狗—angularjs—3—表单验证的高级用法

    其实我们的angularjs都是是块状代码,其实是可以在实际开发中保存下来以后就可以达到重复利用的目的了.. 废话不多说,直接上代码: <!doctype html> <html l ...

  7. css 标签 清除浮动

    .clearfloat:after{content: "";clear:both;display: block;}

  8. zw版【转发·台湾nvp系列Delphi例程】HALCON AffineTransRegion

    zw版[转发·台湾nvp系列Delphi例程]HALCON AffineTransRegion unit Unit1;interfaceuses Windows, Messages, SysUtils ...

  9. HAVING用法详解

    HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 和 SELECT 的交互方式类似.WHERE 搜索条件在进行分组操作之前应用:而 HAVING 搜索条件在进行分组操作之后应用 ...

  10. ==,equal,hasCode(),identifyHasCode()浅析

    在java中如果我们要比较两个对象之间的关系的话有可能会用到下面的几种方法:==,equal,hasCode(),identifyHasCode(). ==用来比较对象本身是不是相同的. public ...