计算机知识
文章平均质量分 64
屁股大象
这个作者很懒,什么都没留下…
展开
-
关于Socket发送数据后,发现接收方的地址不是Socket指定地址的问题
问题 这个标题我不知道怎么起比较好。具体看下面的问题过程: 我在局域网内有三台设备,假设为A,B,C三台,三台设备通过交换机连接。其中A是我自己的电脑,B和C则是其它设备。A通过Udp给B和C发送数据。但是,当我给B发送数据的时候,结果是C收到数据并回复A。或者是我给C发送数据后,结果是B收到数据并回复A。原因 我将抓到的包发给了我组长,最终他发现了原因。B和C设备的Mac地址一样,导致地址冲突。 接着我将Mac地址修改后,三台设备的通讯恢复正常。结束 希望这篇记录能帮助到同样问题卡原创 2022-04-26 09:41:12 · 1865 阅读 · 0 评论 -
浅谈I/O模型里的同步、异步、阻塞、非阻塞
Linux的网络IO模型 Linux有五种网络IO模型,分别是阻塞IO,非阻塞IO,IO多路复用、异步IO、信号驱动IO。 可能由于中华文字的博大精深,同步和阻塞,异步和非阻塞这几个相近的概念许多人无法很好的理解。这篇文章中,我会从分别五种IO模型的流程入手,讲讲IO模型中的阻塞、非阻塞、异步以及异步的反面同步分别代表什么含义。 文章中阐述的是个人理解,若有不同见解,希望能留下宝贵的评论,不胜感激!程序中网络数据的接收过程 在说阻塞这些概念之前,我们得先了解应用程序接收网络数据的一个粗略流原创 2022-04-20 09:13:17 · 621 阅读 · 0 评论 -
关于Boost的Asio的信号灯超时时间已到错误
问题 最近在测试一个程序的时候,发现过一阵子报了信号灯超时已到错误,ASIO这边的错误码是121。花了点时间,发现了问题所在。原因 我自己测了一阵子后发现,大约7分钟左右,就会收到这个错误,此时TCP连接会断开。开始以为腾讯云的问题,接着我添加了心跳…是的,本来只是想看看能不能正常接收,没想到问题就解决了。 查阅了一些资料,发现根本原因应该是:由于TCP两端在指定时间内未交互数据,所以连接被剔除了。 但这还不是重点。因为我之前写的很多东西,都是没有心跳的,却能保证几个小时后还能正常通讯,不原创 2022-04-18 09:34:18 · 3825 阅读 · 0 评论 -
聊聊编码格式
前言 想写这篇文章很久了,因为之前和朋友在交谈的时候,发现朋友从事行业多年,却对于编码这一块很陌生(当然,我不是指我很熟悉😳)。但碍于各种不可抗力因素,在这个疫情严重的下午,我决定抽空写写我对常见编码的一些理解。 这是第一次写大篇幅的文章,若有错误或更好的见解,我希望您能抽空在评论中指正,感激不尽! 如果你只是想快点知道GBK如何转UTF8,string如何转wstring,那么请赶紧去找其它文章吧~早期编码 早期的编码也就是ASCII编码,一共包含了128个字符。其中‘'0’到’31’用原创 2022-03-18 18:38:26 · 4807 阅读 · 0 评论