
网络编程
文章平均质量分 89
乌鸦_在飞
这个作者很懒,什么都没留下…
展开
-
window套接字编程
套接字什么是套接字?套接字(socket)是操作系统提供的用来进行网络数据传输的软件设备。即使对网路数据传输原理不太熟悉,也可以通过套接字完成数据传输。操作系统提供相应的函数,windows和linux提供的函数有一些差异,但大致思想是一样的。下面介绍windows的几个函数:socket函数创建套接字:SOCKET socket(int af, int type, int protocol);成...原创 2018-02-12 21:31:58 · 1861 阅读 · 0 评论 -
socket()函数介绍
socket函数创建套接字:SOCKET socket(int af, int type, int protocol); 成功时返回套接字句柄,失败时返回INVALID_SOCKET。句柄其实就是标识符,唯一地标识某个东西。第一个参数套接字通信中的协议有一些分类。第一个参数传递套接字中使用的协议分类信息,此协议分类信息称为协议族。下面列出几个协议族:(1)PF_INET。IPv4互联网协议族。(2...原创 2018-02-13 22:47:30 · 1790 阅读 · 1 评论 -
epoll讲解
实现I/O复用技术除了可以使用select,还可以使用epoll。先说一下select的缺点,每次调用完select之后,一般都会有一个循环,遍历全部文件描述符,找出发生事件的那一个,可见时间效率并不高。因此,select函数一般适用于服务器端接入者少,要求有兼容性的情况下。兼容性是因为各大操作系统都支持select函数。相反,epoll则可以将发生事件的所有文件描述符都集中在一起,因此遍历这个集...原创 2018-03-22 20:56:49 · 315 阅读 · 0 评论 -
select()函数用法
select()函数是实现服用服务器端的一种方法。这里介绍Linux环境下select()函数的用法,Windows下的大同小异。select函数的功能select函数可以同时监视多个文件描述符,并且可以监视三种事件。一旦某个文件描述符所指的对象发生了相应事件,就可以进行相应的处理。监视的三种事件:(1)是否有对象需要接受数据。(2)是否有对象需要传输数据。(3)是否有对象发生了异常。select...原创 2018-03-20 11:51:15 · 3470 阅读 · 0 评论 -
Linux下多线程服务器端的实现
Linux下多线程编程时,编译命令需要加上-lpthread选项。g++ test.cpp -o test -lpthread线程的创建线程具有单独的执行流,所以会有自己的main函数。创建线程的函数如下:int pthread_create(pthread_t * restrict thread,const thread_attr_t * restrict attr,void *(* start...原创 2018-03-27 15:00:36 · 431 阅读 · 1 评论