![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
EncodedStar
爱分享,爱学习,爱助人为乐
点个关注再走吧,感谢!
展开
-
一篇文章快速解决网络调试问题
一、 ping : 查看当前网络是否连通二、 ifconfig : 用来显示当前系统中的所有网络设备,通俗一点的说,就是网卡列表。三、 netstat 和 lsof: 对网络状况了如指掌netstat 和 lsof netstat -alepnnetstat 告诉我们 IP 地址和端口使用的情况,以及各个 TCP 连接的状态。还会把所有 IPv4 形态的 TCP,IPV6 形态...原创 2020-03-19 17:28:12 · 667 阅读 · 0 评论 -
网络编程
网络编程1. TCP与UDP的比较TCP是面向连接的,交互双方的进程各自建立一个流式套接字,服务器需要等待客户端向其提出连接申请。一旦接受客户端申请就立刻返回一个新的套接字描述符。通过该描述符调用数据传输函数与客户端进行数据的收发。UDP是面向无连接的,双方建立的是数据报套接字,服务器和客户端在进行传描数据之前不需要进行连接的申请和建立,可以随时向对方发消息。 TCP转载 2017-11-14 12:36:54 · 284 阅读 · 0 评论 -
细谈select函数(C语言)
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式转载 2017-07-19 14:56:01 · 243 阅读 · 0 评论 -
剖析 epoll ET/LT 触发方式的性能差异误解
请教大家一个关于EPOLLET和EPOLLLT的问题今天在查看EPOLLET和EPOLLLT的细节的时候,发现一篇文章。 但不知文中说的是否有道理,望各位大大给个明确的答复。游戏服务器,我们用的是ET方式。剖析 epoll ET/LT 触发方式的性能差异误解(定性分析)平时大家使用 epoll 时都知道其事件触发模式有默认的 level-trigger转载 2017-07-22 15:35:24 · 351 阅读 · 0 评论 -
epoll使用详解(精髓)
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且转载 2017-07-21 14:56:36 · 238 阅读 · 0 评论 -
C10K问题
1 c-10K问题大家都知道互联网的基础就是网络通信,早期的互联网可以说是一个小群体的集合。互联网还不够普及,用户也不多。一台服务器同时在线100个用户估计在当时已经算是大型应用了。所以并不存在什么C10K的难题。互联网的爆发期应该是在www网站,浏览器,雅虎出现后。最早的互联网称之为Web1.0,互联网大部分的使用场景是下载一个Html页面,用户在浏览器中查看网页上的信息。这个时期也不存在C转载 2017-07-18 16:11:58 · 296 阅读 · 0 评论 -
Linux Thread 最基本用法
关于POSIX thread的最基本用法要用到线程,但对线程一直不怎么懂,看了些资料作了两个例子和总结,不对的地方恳请各位指正。1.基本函数pthread_create,pthread_detach,pthread_join,pthread_exit,pthread_self具体的意义和参数看man或者书吧,其他的函数还不会用。pthread_createpthre转载 2017-07-18 09:50:59 · 702 阅读 · 0 评论 -
#pragma once与#ifndef两种防止头文件二次编译的区别
在最开始接触到C语言的时候,看到很多大牛们写的代码里面就有#ifndef #define #endif 这三条语句,当时不明白什么意思,慢慢的后来自己也开始用了,也知道了他们合起来使用时为了防止头文件被二次编译,因为我们曾经写代码的过程中一定遇到过等类似的错误吧。到了学习C++的时候,我们老师给我们看他的代码的时候发现他的头文件里用的是#pragma once,就奇怪这是什么呢?然后私下百度转载 2017-07-18 09:40:26 · 333 阅读 · 0 评论 -
TCP网络编程中connect()、listen()和accept()三者之间的关系
基于 TCP 的网络编程开发分为服务器端和客户端两部分,常见的核心步骤和流程如下:connect()函数对于客户端的 connect() 函数,该函数的功能为客户端主动连接服务器,建立连接是通过三次握手,而这个连接的过程是由内核完成,不是这个函数完成的,这个函数的作用仅仅是通知 Linux 内核,让 Linux 内核自动完成 TCP 三次握手连接(三次握手详情,请看《浅谈转载 2017-07-21 09:59:52 · 250 阅读 · 0 评论 -
Linux下多文件的编译(2)
编译大于3个文件是推荐使用统一格式写,方便编译原创 2017-07-17 14:27:39 · 284 阅读 · 0 评论 -
Linux下多文件的编译
Makefile:自动编译。先将每个.c文件的编译过程提前写在Makefile文件中,在运行程序时,系统直接用make命令使文件自动编译,提高效率。原创 2017-07-16 11:02:30 · 1189 阅读 · 0 评论 -
管道pipe
管道是一种进程间的通信机制,Windows 和 Linux(以及 UNIX)上都使用的这种机制。原创 2017-07-15 14:12:29 · 380 阅读 · 0 评论 -
linux管道pipe详解
oguro的博客留下思索,分享感悟目录视图摘要视图订阅从创业到再就业,浅述对程序员职业生涯的看法 征文 | 你会为 AI 转型么? 赠书:7月大咖新书机器学习/Android/pythonlinux管道pipe详解标签: linuxpipe管道2016-1转载 2017-07-15 14:06:27 · 658 阅读 · 0 评论 -
Linux下进程通信
Linux下进程通信的八种方法: 1. 管道(pipe) 2. 命名管道(FIFO) 3. 内存映射(mapped memeory) 4. 消息队列(message queue) 5. 共享内存(shared memory) 6. 信号量(semaphore) 7. 信号(signal) 8. 套接字(Socket)原创 2017-07-15 12:24:17 · 314 阅读 · 0 评论 -
linux下socket编程常用头文件
头文件sys/types.h: 数据类型定义sys/socket.h: 提供socket函数及数据结构netinet/in.h: 定义数据结构sockaddr_in arpa/inet.h: 提供IP地址转换函数 netdb.h: 提供设置及获取域名的函数 sys/ioctl.h: 提供对I/O控制的函数 sys/poll.h: 提供so原创 2017-07-13 16:04:12 · 422 阅读 · 0 评论 -
SOCKET编程详解
特别详细的讲解 http://blog.csdn.net/hguisu/article/details/7445768/#comments转载 2017-05-25 13:30:48 · 294 阅读 · 0 评论 -
TCP/UDP区别
基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少; 3.UDP程序结构较简单 4.流模式(TCP)与数据报模式(UDP); 5.TCP保证数据正确性,UDP可能丢包 6.TCP保证数据顺序,UDP不保证 UDP应用场景: 1.面向数据报方式 2.网络数据大多为短消息 3.拥有大量Client 4.原创 2017-05-25 13:17:08 · 282 阅读 · 0 评论