套接字

操作系统管理的进程的套接字表,每一个进程拥有一张套接字表

套接字有两种一种是被动套接字(作为Server时),一种是活动套接字(作为Client时)。

TCP/IP 协议族 常量 PF_INET =2

TCP/IP 地址族 常量 AF_INET =2

套接字端点地址一般数据结构

struct sockaddr{ //一般结构定义

u_short sa_family; //地址族

char sa_data[14]; //地址

};

套接字端点地址的精确数据结构定义

struct sockaddr_in{

u_short sin_family; //地址类型,值一直都是AF_INET

u_short sin_port; //端口号

struct in_addr sin_addr; //IP地址

char sin_zero[8]; //没用的,常为0

};

只是使用了TCP/IP协议的程序只需要使用sockaddr_in结构,sockaddr结构只是用来强制类型转换通过编译器的编译。

套接字函数

WSAStartup

使用套接字前必须调用的函数

WSACleanup

结束使用套接字关闭释放套接字的函数

Socket

创建一个套接字

connect

客户端调用此函数来和服务端连接

send

发送数据

recv

接收函数

closesocket

关闭套接字并释放,如果多个进程共享套接字,引用-1,当引用为0的时候释放套接字

bind

指定套接字的本地端点地址和端口

listen

Server用来监听传入连接,套接字被设定为被动模式

accept

获得连接,如果一直没有获得连接则一直阻塞

套接字调用模式

客户端:

WSAStartup->socket->connect->send->recv->closesocket->WSACleanup

服务端:

WSAStartup->socket->bind->listen->accept->recv->send->closesocket->WSACleanup

getsockname 得到socket本地端口信息

转载于:https://www.cnblogs.com/cplover/p/3371967.html

套接字(Windows)相关推荐

  1. Windows下套接字

    一.套接字     windows套接字Socket是进程通信的一种方式,可以实现在不同主机的相关进程之间交换数据.在TCP/IP网络应用中,通信的两个进程的主要模式是客户/服务器(C/S)模式,即客 ...

  2. python出现套接字创建不成功_python套接字连接在Mac上被拒绝但在Windows

    这不是connection refused的重复.此问题询问MacOS和Windows之间的区别.此外,Mac上的防火墙已关闭. 我正在尝试通过套接字与设备通信.代码用python编写.出于某种原因, ...

  3. [转]如何借助 TLS/SSL 确保套接字连接的安全(使用 C#/VB/C++ 和 XAML 的 Windows 应用商店应用)...

    本文转自:http://msdn.microsoft.com/zh-cn/library/windows/apps/jj150597.aspx 本主题将展示在使用 StreamSocket 功能时,如 ...

  4. eclipse写java实现端口_使用eclipse(windows)在java中使用IPv6地址和端口号创建套接字...

    当我尝试使用IPv4地址创建套接字时,它很成功,但是当我尝试使用IPv6地址和端口号创建套接字时,它会引发异常: java.net.SocketException: Network is unreac ...

  5. 微软DNS服务器默认,Microsoft Windows Server DNS 配置打开地址套接字

    Microsoft Windows Server DNS 配置打开地址套接字 Microsoft.Windows.Server.DNS.Configuration.OpenSocketForAddre ...

  6. Windows下TCP套接字的一些细枝末节问题

    接收窗口大小 在TCP协议中,一方的接受窗口由另外一方指定.那么,我们如何通过SOCKET设置自己的窗口大小呢?答案是通过setsocketopt系统调用,该函数用于SOCKET的一些参数,其中之一就 ...

  7. python在windows 比linux 慢,为什么Windows上的python套接字扫描比在linux上慢很多?

    我试过在网上搜索不同的python文档,论坛和其他人的问题,但我还没有找到任何人有这个相同的问题.为什么Windows上的python套接字扫描比在linux上慢很多? 我的脚本的典型样子是我将创建一 ...

  8. Windows 网络通信套接字技术

    文章目录 一.TCP/IP介绍 1.TCP/IP体系结构 2.TCP/IP特点 3.TCP/IP协议与WinSock网络编程接口的关系 二.套接字原理 1.客户机/服务器模式 服务器端: 客户端: 2 ...

  9. 在windows下使用python中的select函数报错‘[WinError 10038] 在一个非套接字上尝试了一个操

    注意:Python的select方法在Windows和Linux环境下的表现是不一样的,Windows下它只支持socket对象,不支持文件描述符(file descriptions),而Linux两 ...

  10. MFC—windows套接字编程

    Windows 套接字编程 一.常见概念 1.Windows Sockets 规范 Windows Sockets 规范是 Windows 平台下定义的可以兼容二进制数据传输的网络编程接口,是基于伯克 ...

最新文章

  1. python程序员职业考试_最新10大Python面试常问的问题,60%的人都不会
  2. 6月8日云栖精选夜读丨阿里云宣布与国内规模最大的汽车企业上汽集团合作
  3. Why Object.prototype.hasOwnProperty.call(myObj, prop)
  4. Weinre mobile debugging on Windows
  5. 上半年银行罚单不断,7月越早贷款越有利
  6. 作者:熊赟,复旦大学计算机科学技术学院副教授。
  7. Hello Quartz (第三部分)
  8. fanuc机器人编程手册_FANUC机器人示教编程:信号立即输出附加指令功能介绍与使用方法...
  9. 模因(meme)收集
  10. Atitit  ocr识别原理 与概论 attilax总结
  11. 使用ping方法,依据TTL值,探测对方主机操作系统
  12. AABB与OOB包围盒子
  13. 投屏php源码,乐享影视app源码 e4a影视app开源源码 支持下载存缓投屏等功能
  14. 开往-友链接力handsome侧栏添加修改
  15. 访问学者在德国访学,值得推荐的特色美食有哪些?
  16. 活期账户10亿个+日均交易4亿笔,建设银行如何啃下系统转型的“硬骨头”?
  17. 关于VMware设置网络
  18. 从财报看康佳、创维、TCL、海信能否守住家电市场的“江湖地位”?
  19. 在学习JavaScript的过程
  20. umc18mmrf安装,CDB转OA,使用Cadence VIrtuoso进行芯片设计

热门文章

  1. TCP/IP笔记-ARP协议包结构相关笔记
  2. 前端笔记-css实现web自适应(当像素小于xx时隐藏此div)
  3. oracle sys_connect_by_root,CONNECT_BY_ROOT实现行列转换
  4. linux中命令对c文件进行编译,Linux下C语言编译基础及makefile的编写
  5. live2dviewer android,live2dviewerex安卓版
  6. 机器人绳索英雄下载苹果手机_警察机器人绳索英雄游戏下载-警察机器人绳索英雄苹果版v1.0-FC游戏网...
  7. java猜拳_java猜拳
  8. linux centos 7定时任务添加,CentOS 7 cron服务 定时任务使用方法
  9. js change事件 获取新值和旧值_前端总结(JS篇)
  10. (王道408考研数据结构)第二章线性表-第三节1:单链表的定义及其操作(插入和删除,建立之尾插和头插)