C++socket编程(⼆):系统socket库介绍什么是套接字:
套接字是⼀个介质,由操作系统控制,
下⾯演⽰下windows和linux中的socket接⼝建⽴的代码,通⽤
#ifdef WIN32
#include <Windows.h>
socket编程聊天室基本流程
#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 WIN32
WSADATA ws;
WSAStartup(MAKEWORD(2,2),&ws); //相当于加载了动态库,给引⽤增加1,这个只需要调⽤以此,但是需要调⽤在最前⾯
#endif
for (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即可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。