C++socket编程(二):系统socket库介绍
什么是套接字:
套接字是一个介质,由操作系统控制,
下面演示下windows和linux中的socket接口建立的代码,通用
#ifdef WIN32
#include <Windows.h>
#else
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#define closesocket close
#endif
#include <stdio.h>int main(int argc,char *argv[])
{
#ifdef WIN32WSADATA ws;WSAStartup(MAKEWORD(2,2),&ws); //相当于加载了动态库,给引用增加1,这个只需要调用以此,但是需要调用在最前面
#endiffor (int i = 0; i < 1000; i++){int sock = socket(AF_INET, SOCK_STREAM, 0); //tcp协议,这样就创建了一个socket,返回值是int类型if (sock == -1){printf("create socket failed\n");return -1; //什么时候会失败,资源耗尽的时候,linux与文件的句柄数量有关}printf("[%d]", sock); //打印结果就是句柄的 id号closesocket(sock);}getchar();return 0;
}
注意linux中我们的ulimit -n num(设置socket启动数量,如果不设置默认就是最多支持1024个socket)。如果在linux中我们想建立多个socket,只需注掉closesocket即可。
C++socket编程(二):系统socket库介绍相关推荐
- Java网络编程二:Socket详解
Socket又称套接字,是连接运行在网络上两个程序间的双向通讯的端点. 一.使用Socket进行网络通信的过程 服务端:服务器程序将一个套接字绑定到一个特定的端口,并通过此套接字等待和监听客户端的连接 ...
- socket编程基础2(socket API函数介绍)
"一切皆Socket!" 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. --有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信 ...
- Socket编程概念和 Socket之异步TCP客户端断线重连
一:什么是SOCKET socket的英文原义是"孔"或"插座".作为进程通信机制,取后一种意思.通常也称作"套接字",用于描 ...
- 计算机网络实验 socket编程,计算机网络实验 socket编程
实验三 socket套接字编程实验 一.Sockets编程基础知识 网络编程就是通过计算机网络与其他程序进行通信的程序,Socket编程是网络编程的主流工具. Socket API是实现进程间通信的一 ...
- socket编程 —— 非阻塞socket (转)---例子已上传至文件中
在上一篇文章 <socket编程--一个简单的例子> http://blog.csdn.net/wind19/archive/2011/01/21/6156339.aspx 中写了一个简单 ...
- android c++ socket编程,C++ 中 socket编程实例详解
C++ 中 socket编程实例详解 sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW):基于TCP的soc ...
- 计算机网络实验socket编程,计算机网络实验 socket编程
使用连接.终止连接的过程.在数据传输过程中,各数据分组不携带目的地址,而使用连接号(connect ID ).从本质上看,连接是一个管道,收发数据不但顺序一致,而且内容相同. Socket 编程中,双 ...
- java socket编程心跳_Java Socket编程心跳包创建实例解析
1.什么是心跳包? 心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包. 用来判断对方(设备,进程或其它网元)是否正常运行,采用 ...
- Socket编程实践(3) --Socket API
socket函数 #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, ...
- socket编程二十二:socket编程实现文件传输功能
这节我们来完成 socket 文件传输程序,这是一个非常实用的例子.要实现的功能为:client 从 server 下载一个文件并保存到本地. 编写这个程序需要注意两个问题: 1) 文件大小不确定,有 ...
最新文章
- LeetCode 1713. 得到子序列的最少操作次数(最长上升子序DP nlogn)
- JDK源码解析之Java.util.Collection
- Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁
- 基于vue-cli 将webpack3 升级到 webpack4 配置
- 【系列4】使用Dockerfile创建带tomcat的Centos Docker镜像
- osgEarth文档翻译1
- 现代信号处理——参数估计理论(2)——估计子、贝叶斯估计、最大似然估计
- 档案盒正面标签制作_档案盒标签如何制作
- gmp php study,[技术干货] USP中文翻译连载 | 产品生命周期的包装密封性检查 (1、2之3)...
- 数据的编码类型及数据通信的工作方式
- 软件测试 - 功能测试Ⅱ
- win10+VS2017+WDK环境下编译C++程序提示error LNK1104无法打开文件*.lib(mfc140ud.lib)的问题
- Android必知必会-Stetho调试工具
- AlexNet 之karas实现
- 图标设计五条黄金法则
- decode函数的用法(decode函数的用法python二进制)
- 黑马程序员——ios面试学习一:Mac系统使用教程——黑马 ios 技术博客
- 微软常用运行库合集 v2020.12.10
- 工作流子流程和多实例开发
- 学习笔记(01):OmniPlan项目管理就该这样学-使用关联线连接任务
热门文章
- 【洛谷T37388】P哥破解密码
- init.d目录理解
- Discuz 7.2 /faq.php SQL注入漏洞
- Perl opendir()函数
- 控制項學習四(屬性與事件)
- 华为手机改定位怎么改变_华为推送HMS服务,依靠鸿蒙OS,或将改变手机行业格局...
- postgres 把一个表的值转成另一个表的字段名_Postgres索引那些事
- Python编写人机对战小游戏(抓狐狸)(2)
- 微课|Python程序设计开发宝典(5.2.2):默认值参数
- Python+numpy实现蒙特卡罗方法估计圆周率近似值