![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络通信和多线程
文章平均质量分 77
liuxizhen2009
这个作者很懒,什么都没留下…
展开
-
phy直连的分析心得
我想很多人都考虑过,当同一块板卡上的两块网口PHY芯片对连的时候,能不能省略两个网络变压器而直接对连呢,答案当然是肯定的。不过我实际操作过后,发现里面还是有很多陷阱,现在给大家一一道来。首先我们必须知道一件事情,网口PHY芯片对于TX与RX的驱动方式有电压驱动和电流驱动之分。最简单的一个识别方式就是看其推荐原理图,如果网络变压器的中心抽头需要提供一个VCC(3.3V、2.5V等等,下同)电源的就是电压驱动,如果是直接加一个对地电容就可以的就是电流驱动。现在我们来精简电路。(由于两块PHY芯片靠的很近,转载 2021-06-08 15:17:02 · 3261 阅读 · 3 评论 -
TCP accept返回的socket 解释
as you know,一个socket是由一个五元组来唯一标示的,即(协议,server_ip, server_port, client_ip, client_port)。只要该五元组中任何一个值不同,则其代表的socket就不同。这里忽略协议的区别,在同一协议的基础上,服务器端的listen socket的端口可以看成(server_ip, server_port, ***, ***),其中*...转载 2019-08-29 17:26:15 · 2839 阅读 · 0 评论 -
mongoose上传文件
1,html中 通过form-data方式的。是走的代码中的handle_upload,上传后文件按照原来的名字保存在根目录。2,html中通过ajax方式上传的走的是handle_upload_bk里面的部分,但是这个我没法提取出来文件名。3,还有就是走handle_upload_bk 的时候,从form-data上传。显示也能上传。但是不知道走到哪里的...原创 2019-08-22 11:14:34 · 3586 阅读 · 8 评论 -
inet_sock 源地址,目的地址, 接收地址,端口
http://www.cnblogs.com/my_life/articles/6085516.htmlhttp://www.cnblogs.com/my_life/articles/6085588.htmlhttp://www.cnblogs.com/my_life/articles/6065752.htmlhttps://www.cnblogs.com/my_life/articl...转载 2019-06-05 21:31:32 · 1724 阅读 · 0 评论 -
加入一个组播组过程分析
转:https://blog.csdn.net/xbgprogrammer/article/details/51383202 网络中的一台主机如果希望能够接收到来自网络中其它主机发往某一个组播组的数据报,那么这么主机必须先加入该组播组,然后就可以从组地址接收数据包。在广域网中,还涉及到路由器支持组播路由等,但本文希望以一个最为简单的例子解释清楚协议栈关于组播的一个最为简单明了...转载 2019-06-05 21:24:40 · 10211 阅读 · 2 评论 -
条件变量详解
https://www.ibm.com/developerworks/cn/linux/thread/posix_thread3/#1在 上一篇文章结束时,我描述了一个比较特殊的难题:如果线程正在等待某个特定条件发生,它应该如何处理这种情况?它可以重复对互斥对象锁定和解锁,每次都会检查共享数据结构,以查找某个值。但这是在浪费时间和资源,而且这种繁忙查询的效率非常低。解决这个问题的最佳方法...转载 2018-03-19 17:28:11 · 873 阅读 · 0 评论 -
TCP服务器一个端口号可以有多个连接
这是我在讨论区看到的一个回答,写的很好,让我明白了为什么单个服务器程序可承受最大连接数可以达到几十W要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。对于网络编程,我...转载 2018-11-04 15:50:21 · 28104 阅读 · 7 评论 -
Example: Nonblocking I/O and select()
https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/rzab6/xnonblock.htm#include <stdio.h>#include <stdlib.h>#include <sys/ioctl.h>#include <sys/socket.h>#include...转载 2018-11-05 22:37:02 · 146 阅读 · 0 评论 -
Linux socket编程示例3 select函数的使用
1.select函数简介int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval*timeout);当服务器响应多个客户端连接的时候,需要定义一个线程函数,在每一个线程函数里面处理该连接,进行数据的读写,且connect、accept、recv或recvfrom这样的函数都是...转载 2018-11-03 20:59:59 · 663 阅读 · 0 评论 -
Linux socket编程示例2 多线程并发
原文:https://www.cnblogs.com/nanrenzhuang/archive/2013/05/01/6315579.html/*************************************************** * 文件名:pthread_server.c * 文件描述:创建子线程来接收客户端的数据 * louis tested********...转载 2018-11-03 14:26:04 · 1792 阅读 · 0 评论 -
Linux socket编程示例 2.1
作者:后打开撒打发了 来源:CSDN 原文:https://blog.csdn.net/chenxun_2010/article/details/50488447 在迭代服务器中,服务器只能处理一个客户端的请求,如何同时服务多个客户端呢?在未讲到select/poll/epoll等高级IO之前,比较老土的办法是使用fork来实现。 网络服务器通常用fork...转载 2018-11-03 14:06:23 · 310 阅读 · 0 评论 -
Linux socket编程示例1
转载:http://www.cnblogs.com/jiangson/p/5977601.htmlLinux socket编程示例 备忘一下,温故知新。一、socket编程 网络功能是Uinux/Linux的一个重要特点,有着悠久的历史,因此有一个非常固定的编程套路。 基于TCP的网络编程: 基于连接, 在交互过程中, 服务器和客户端要保持连接, 不能断开。重发一切出错数...转载 2018-11-03 11:42:30 · 332 阅读 · 0 评论 -
socket服务器开发中遇到大量TIME_WAIT状态的解决
本文是乔聪的原创博文,请尊重内容贡献者。欢迎转载,请务必注明出处,文章地址:https://blog.andyqiao.top/article/15/问题产生我在开发一个socket服务器程序并反复调试的时候,发现了一个让人无比心烦的情况:每次kill掉该服务器进程并重新启动的时候,都会出现bind错误:error:98,Address already in use。然而再ki...转载 2018-11-09 14:42:43 · 3556 阅读 · 0 评论