首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java Socket:飞鸽传书的网络套接字

在古代,由于通信不便利,一些聪明的人就利用鸽子会飞且飞得比较快、会辨认方向的优点,对其进行了驯化,用来进行消息的传递——也就是所谓的“飞鸽传书”。...telnet,Internet 远程登录服务的标准协议和主要方式,可以让我们坐在家里的计算机面前,登录到另一台远在天涯海角的远程计算机上。 ?...不过,需要注意的是,telnet 在格外重视安全的现代网络技术中并不受到重用。因为 telnet 是一个明文传输协议,用户的所有内容(包括用户名和密码)都没有经过加密,安全隐患非常大。...需要注意的是,套接字在建立的时候,如果远程主机不可访问,这段代码就会阻塞很长时间,直到底层操作系统的限制而抛出异常。所以一般会在套接字建立后设置一个超时时间。...;而服务器端套接字发送的所有信息都会包裹在客户端套接字的输出流中。

83821

软硬件融合技术内幕 终极篇 (13) —— 飞鸽传书的背后 (中)

在上期,我们提到了,在现代的计算机中,为了提升数据传输的速率,突破并行总线的限制,把内存总线和PCI总线都进行了串行化。...为了避免外界电磁信号对高频传输线的干扰,串行总线一般以差分线的方式实现,也就是通过A线和B线的电平差来表示0和1。...但是,这种方式也有两个弊病: 如果一个帧(字节)中有2个bit的误码,则奇偶校验会失效; 无法恢复传输的正确内容,1个bit的误码会造成整帧错误,也就是一定的误码率会被放大一个数量级; 那么,有没有合适的方法对其进行改进呢...也就是说,如果a丢失了,是可以通过b,c,d和e恢复a的。将异或和crc算法结合,我们就可以实现发现哪一位出现错误,并通过其他正确的内容恢复错误的内容。...即使我们采用了XOR+CRC等EC算法来解决传输中有可能出现的误码问题,传输频率也不可能无限制的提高。那么,有没有更好的办法来进一步提升计算机与其他设备的数据传输速率呢? 请看下期。

48520
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    软硬件融合技术内幕 终极篇 (13) —— 飞鸽传书的背后 (上)

    基于前面几篇的知识基础,我们了解到,北桥会在CLK的下降沿到来之前,把32/64bit的地址或数据信号发送到并行的AD[31:00]和AD[63:32]。...那么,有一个理想与现实对比的问题是必须要面对的: 我们期望的CLK和AD[31::0],信号是这样理想化的: 如图,在每个CLK的下降沿,到达PCI Device的AD[31:00]都处于稳定状态,PCI...但是,这一理想化模型成立的条件是,32条AD线的传输时间是差不多的! 我们知道,PCB板上传输信号的电路材质是几乎100%的纯铜。...我们教科书上的数字信号的波形是横平竖直的,但实际上数字信号受到电子线路的寄生电容和寄生电感的影响,会变成这个样子: 这是因为,电路中寄生电容和寄生电感会产生一个寄生振荡。...当寄生振荡的最大振幅达到原波形的一半的时候,就一定会造成误码。在数字电路中,误码是致命的。如果地址产生误码,会导致读写的目标错误,而指令误码会导致执行错误的指令。 那么,如何解决这两方面的挑战呢?

    43620

    软硬件融合技术内幕 终极篇 (15) —— 飞鸽传书的背后 (下)

    如图,我们可以使用示波器观测Serdes信号的波形: 这是较为理想的情况下,Serdes的波形,其上升和下降沿简单清晰,高低电平部分的波形非常平直。...在中国人的审美观念中,拥有一双大眼睛是美丽的: 但是,也有一些人出于不可告人的目的,把畸形的审美强加给国人: 虽然有人将其包装成“国际化”审美,但这样的价值观是带有特殊目的性的,最终也是被人民群众扫进垃圾堆的对象...类似地,信号的眼图也会在高频时出现畸变,变成这个样子: 图上的“眼睛”比起我们期望的理想状态小了很多,这说明信号频率超过了允许的阈值,出现了衰减和不稳定。...当“眼睛”的张开幅度低于一定阈值的时候,其误码率将会增加,超过冗余编码的纠错能力时,将是不可接受的。...讲到这里,我们可以总结出,计算机的计算能力,以及各个部件的通讯,最终会受制于电路的制造工艺和材料,如近期较为火热的集成电路生产工艺等。这也是我国需要在计算机技术领域努力的方向之一!

    40130

    抖音技术分享:飞鸽IM桌面端基于Rust语言进行重构的技术选型和实践总结

    1、引言本文将介绍飞鸽IM前端团队如何结合Rust对飞鸽客户端接待能力进行的技术提升,一步步从概念验证、路径分解到分工开发,再到最后上线收益论证,并分享了其中遇到的技术挑战与经验总结等。...本项目是一个长周期的复杂项目,相信本项目落地的经验对其他同学及团队能有所借鉴。2、技术背景飞鸽是在抖音电商业务上面向商家和用户的聊天工具,其拉通售前、售中、售后渠道,为商家履约提供重要支撑。...对于飞鸽桌面端IM而言,我们会面临很多基础挑战,比如做好会话稳定性、操作流畅性、冷启动速度等,而在满足98%以上的用户需求且业务趋于稳定后,一些在冲刺后遗留的性能天花板问题暴露在我们面前,其中 高并发接待...飞鸽im sdk是一个对运行稳定性要求高的组件,其工程量大、逻辑复杂,对于异步特性使用非常频繁,其对于内存安全、 线程安全有着比较严格的要求。...由于飞鸽im对于通信模块的稳定程度要求是很高的,替换过程就像是在高速行驶的车辆上替换轮胎,如果出现问题也容易导致大量的客服负面反馈。

    38010

    局域网聊天软件攻防战

    同时进行语义和时序的分析工作,是因为时序有助于分析人员确定语义,和自然语言一样,不同顺序的语句所产生的情景有所差异。我们按照飞鸽程序的启动顺序进行操作,产生各功能对应的数据包,进行语义分析。...随后,飞鸽会向在线主机发送上线报文,如下图所示。 ? 上线报文的命令编号为3073(0xC01),内容主要包含本机的机器信息和飞鸽账户的基本信息。...5、下线 当用户关闭飞鸽时,飞鸽会通知其他在线用户自己要下线。该命令编号为2。 ?...8、数据包编号认证 从飞鸽的协议来看,并没有严格的认证过程,且所有信息均为明文,但为了对传输信息进行基本的管理,飞鸽程序启动后,会初始化一个数据包编号,每发送一个消息报文,该编号均会加1。...1、伪造上线 关闭192.168.1.200机器上的飞鸽程序,使用如下py脚本构建user200用户的上线包发送至192.168.1.100(该机器运行有飞鸽,用户名user100)。

    1.8K80

    局域网内跨平台传输文件、文字 | Dukto

    在日常生活和实际工作中经常需要涉及到局域网内多设备传输文件,此前尝试过飞鸽传书,发现Mac平台体验并不好,也不够可靠;使用NAS等网络存储设备可以解决,但不能随时随地都带这个NAS,此时通过一款可跨平台传输文件的工具在网内分享文件就可极大提升效率...使用Dukto可以在局域网内的 Mac 之间、Win之间、Android之间,以及跨平台之间传输文件、文字、文件夹。 ? 实测速度还是不错的,比较稳定,网内设备一下就能发现。...作者已经停止更新,但个人感觉也没有什么需要更新的了。...下载地址贴在这里: Dukto官网下载(Win/Mac/Linux):https://www.msec.it/blog/dukto/ Dukto Android下载:https://dukto.en.uptodown.com...真正的技术贴:https://www.feng.com/post/8575377 --------------------- Author: Frytea Title: 局域网内跨平台传输文件、文字

    7K20

    永久免费内网穿透软件_不限速内网穿透

    五种永久免费 内网穿透傻瓜式使用 教程 方法一(使用qydev) 方法二(使用飞鸽内网穿透) 方法三(使用nps) 方法四使用 (神卓互联内网穿透) 方法五 使用 SAKURA FRP 教程...------------------------------------------------------------------------ 方法二(使用飞鸽内网穿透) 官网: 点击访问 和方法一...2、下载完成后 解压到一个还是比较熟悉的文件夹: 3、此时我们启动还需要一个 启动参数才能启动属于我们自己的映射客户端,登录 飞鸽 后台管理页面,找到开通隧道 选择免费** 的**...选择免费的隧道 ,进入添加页面 ,填写好相对应的参数 添加成功后,在隧道管理页面,找到我们刚才新增的隧道,点击 隧道ID旁边的 +号就会显示 隧道的启动命令, 最重要的一步来了 ,...复制启动命令 ,打开下载好的飞鸽客户端 ,把启动命令复制到客户端上 ,启动完成 复制启动命令 ,打开下载好的飞鸽客户端 ,把启动命令复制到客户端上 ,启动完成 -----------

    5.2K30

    国产的内网穿透工具也很优秀,这10款工具推荐正在寻找的你!

    简单的说就是通过访问一个外网地址,然后穿透到你的内网地址。 内网穿透又叫端口映射,用一句最简单的话来讲就是:将你的计算机所连接的私有网络映射到公网上,别人通过你给的域名或ip即可访问你本地的服务。...工具汇总 1.cpolar 2.花生壳 3.SAKURA FRP 4.NATAPP 5.飞鸽 6.网云穿 7.闪库 8.内网云 9.快解析 10.nat132 1. cpolar 官网地址:https...飞鸽 官网地址:https://www.fgnwct.com/ 无需安装,解压即用 支持 tcp、http、udp 协议 免费带宽:0.5Mbps 可自定义域名 隧道数量:免费 1 条 无限流量 20...并发连接 5.1 优点: 支持免费套餐 使用简单 可自定义域名 5.2 缺点: 免费套餐带宽小 免费隧道需要签到才可叠加使用时长 5.3 使用教程 飞鸽内网穿透使用教程 6....cpolar × √ 1M 不限制流量 4 条 花生壳 √ √ 1M 1G / 月 2 条 SAKURA FRP √ √ 10M 5G / 月 2 条 NATAPP √ √ 1M 不限制流量 2 条 飞鸽

    2.9K20

    重温设计模式之抽象工厂

    上篇复习了工厂方法模式的使用,对于创建单个系列产品来说,工厂方法已经可以很好的满足“开-闭”原则,但是对于组合产品,由多系列组成的产品,就显得力不从心了。...工厂模式中工厂类得特点是职责单一,这也是工厂方法的优点,每个类不必要关联多种事务。但这种单一的特点也限制了工厂方法的扩展,使得每一个具体的工厂只能创建单一的产品。...相对于工厂方法来说,抽象工厂只是多了一系列产品,并且抽象工厂类中的方法也不是针对单一的产品,而是针对对应型号,或者叫产品族。 举一个最简单的例子:商家到自行车厂,要求生产两种自行车,永久牌和飞鸽牌。...由此我们写出一个抽象工厂的小实例(我们假设自行车只是由车架和轮胎构成),结构图如下: ? 具体流程很简单,自行车厂先找到其两个子工厂:飞鸽自行车厂和永久自行车厂,让他们各自生产自己的产品。...相应的子自行车厂找到对应的零件生产厂商,购买对应的零件,然后组成自行车。 其实这个里面可以加入建造者模式,为了保持简洁,这里暂时不引入建造者模式。 代码比较多,以附件形式提供吧。

    32930

    主机通过虚拟机上网「建议收藏」

    实现结果:WIN7 X64主机通过XPMODE虚拟机共享上网 大家现在总会碰到各种蛋疼的拨号软件、终端认证软件,而你偏偏又是用4G、8G内存装的是64位的系统或者是LINUX等非主流系统。...这时候通过虚拟机32位的XP拨号、认证算是一种无奈的办法。虚拟机通过主机上网的办法是满天飞啦,可是主机通过虚拟机上网的办法我是在网上暂时没有找到。...步骤如下: 第一步【关键的关键】,虚拟机关机,打开设置页面,设置两块虚拟网卡,并且都是桥接到有线网卡(我的机子是REALTEK的千兆)。...虚拟机的网络连接会出现“本地连接”、“本地连接2”, 我将本地连接定位为对外显卡,就是连接internet的,本地连接2作为内网网卡,主机网卡的网关 第二步,如果你的单位是MAC绑定、IP固定的,就把这快网卡的...3、请把以上步骤再认真对三遍,多数情况你漏了某个细节,却还振振有词的说一步一步做下来的 如:是否把物理网卡设置了网关(网关没设置,飞鸽可以用,其他没法用)、DNS(DNS没设置的话,会出现能上

    1.9K20

    【Linux】】Linux权限的理解

    一.Linux中的用户 Linux中分为两种用户,分别为: 1.root 用户,也叫超级用户,它的权限非常高,不受其他权限的约束,也就是可以为所欲为; 2.普通用户:除了root用户外,都是普通用户...二.什么是权限 1.权限和人有关; Lniux中,这里的“人”指的是: a,所有者      b,所属组      c,其他 2.权限和事物的属性有关 Linux下一切皆文件,而文件具有可读...文件属性 这里的文件属性包括:可读(r),可写(w),可执行(x),- 表示无任何权限 这里的9个字符是3个为一组的,按照前后顺序表示:所有者,所属组,其他的权限,且每组内rwx的顺序是严格不变的,...所以就可以用二进制的0和1表示。 四.文件权限值的表示方法 字符表示法  8进制和2进制表示法 有了这些权限值的表示方法,我们就可以修改一个文件的权限了。 ...Linux中给出一个叫粘滞位的概念。 粘滞位 语法:chmod +t  文件 加了粘滞位的文件: 1、超级管理员删除 2、该文件的所有者删除 加上粘滞位后,原来的 x 会变成 t 。

    32011

    Linux 定制自己的Linux

    # Linux 定制自己的Linux # 基本介绍 通过裁剪现有Linux系统(CentOS7.6),创建属于自己的min Linux小系统,可以加深我们对linux的理解。...# 基本原理 启动流程介绍: 制作Linux小系统之前,再了解一下Linux的启动流程: 首先Linux要通过自检,检查硬件设备有没有故障 如果有多块启动盘的话,需要在BIOS中选择启动磁盘 启动MBR...需要明确的是,现在加的这个硬盘在现有的Linux系统中是/dev/sdb,但是,当我们把东西全部设置好时,要把这个硬盘拔除,放在新系统上,此时,就是/dev/sda 在/dev/sdb硬盘上,将其打造成独立的...Linux系统,里面的所有文件是需要拷贝进去的 作为能独立运行的Linux系统,内核是-定不能少,要把内核文件和initramfs文件也- -起拷到/dev/sdb.上 以上步骤完成,我们的自制Linux...就完成,创建-一个新的linux虛拟机,将其硬盘指向我们创建的硬盘,启动即可 示意图 # 操作步骤 可以问我要操作文档

    13.1K30

    T派移动互联网创新创业大赛决赛团队专访第1期

    小编有幸能够采访到晋级决赛的永动机团队、智宠一生团队、飞鸽传书团队、进击的SX-Box团队的各位队长,今天就让我们一起来感受这些顶尖团队的风采吧!...并且通过我们的努力和对作品的不断完善,希望能够取得一个好的成绩。 飞鸽传书团队 打造情怀家庭沟通 记者:黄灵你好,现在我们开始采访。首先,请你对团队做一个简单的介绍。...我们的作品叫做飞鸽传书,它是一款与微信相连的壁灯留言机。家庭成员只要通过微信号对它留言,留言机便会亮起,鸽子停留的图案出现,拉动吊坠就能听到来自远方的叮嘱了。...更让人惊喜的是,只要将吊坠翻转过来,鸽子的嘟嘟声会提醒你开始留言。当“鸽子”张开翅膀时,你就知道,它正在把家中的信息“飞鸽传书”到微信号中。这款产品能够让家庭沟通变得有趣,给生活带来惊喜与愉悦。...通过在团队内担任队长,提升了我自身的综合能力,对我日后的工作和发展有很大的帮助。希望在今后的比赛当中,我们的“飞鸽传书”能够取得更好的成绩,我们团队也将对它做到最大程度的完善。

    96780

    一周播报| 暴露年龄又让你怀念的互联网产品有哪些?

    上周回顾,最揪心的就是清明放假前一天晚上,众人狂欢时,“养码场”社群里依旧有养码人在加班。最暖心的是,有不少养码人回复以“我也还在加班”、“正在回家的路上”、“加油!”...养码人A jvm是会自行调整的吗?各个区占比之类的 养码场C 默认会有一些参数的,有些参数是可以动态调整,有些不行,不过调整之后都要重启之后才能生效。 -02- 杭州有哪些独角兽? ?...独角兽一般是指未上市的创业公司。 养码人5:阿里算是杭州互联网的黄埔军校了。 养码人5:丁香园、有赞、同盾,应该算业内比较知名的了,不过不知道能不能算独角兽。...网易的产品真的做到了极致,例如阴阳师、严选。 网易也有做不下去的产品…… -04- 还记得哪些可以暴露年龄 又让你怀念的产品? 比如飞鸽或飞信。...有养码人罗列了下职场沟通产品的使用轴线:飞鸽传书→飞秋→腾讯通RTX→QQ+微信→被钉钉。

    99330

    Linux 精通Linux的“kill”命令

    在Linux(还有Mac),你可以用一个”kill”命令强制终结它。本篇博文中,我们将展示给你多种方式使用”kill”命令终结应用。...-n 指的是 信号编号 [xgj@entel2 ~]$ kill -l ---> 查看Linux/Unix的信号变量 1) SIGHUP 2) SIGINT 3) SIGQUIT...程序不能忽略此信号,而未保存的进度将会丢失 ---- 使用”kill”的语法是: kill [信号或选项] PID(s) 默认信号(当没有指定的时候)是SIGTERM。...---- 如果你不知道应用的PID,仅需要运行这个命令: ps ux 它会显示所有正在运行的应用还有应用的PID。 ?...当你在终端键入”xkill”,你的光标将立刻变成一个”十字”。你只需要做的是在不正常的应用上点击一下,它就会立刻kill掉这个应用。

    3.5K30

    【Linux】关于Linux中的权限

    文章目 前言 Linux权限 文件访问者的分类(人) 文件类型和访问权限(事物属性) 文件类型 基本权限 目录的权限 粘滞位 权限的总结 前言 前面我们已经知道。...Linux下有两种用户:超级用户(root)、普通用户 以及相互之间的切换: 以及引入的权限的一些铺垫。 下面,我们对其进行补充说明。...如果暂时使用root,root的权限是最大的,可以随便切换到其他普通用户。也就不存在没有权限的问题了。 ---- Linux权限 简单理解权限:权限简单来说就是进行约束的。...而Linux的文件类型和后缀无关(后缀名可以作为提示,用户可以使用后缀区分文件类型),但是对linux来说区分文件和文件本身的后缀是无关的(但是gcc等工具对文件后缀可能有要求)。...y [hwc@VM-8-3-centos ~]$ 为了解决这个不科学的问题, Linux引入了粘滞位的概念 粘滞位 Linux系统中有很多人,我们需要在一个公共的目录下,进行临时文件的操作(增删查改

    7.2K20

    【Linux】打破Linux神秘的面纱

    一、从数据结构角度解释Linux结构 1、Linux是一个多叉树结构 我们在学习了 cd . ....的 方式来观察整个Linux中目录和文件的关系和结构,这样我们会发现Linux是一个多叉树的结构,当我们在 / 处进行展示树结构时我们会发现文件量特别大,显示在屏幕上超级多(下图为暂停后随意截图)...,相对路径查找也只在父节点的兄弟节点中,非常的高效和准确 二、如何看待Linux指令 1、指令可以被看做可执行程序 依照我们现在所掌握的知识来看,Linux当中的文件可以被分为两类,一类是目录,一类是非目录文件...三、Linux下的一切都是文件 对于Linux来说,包括电脑屏幕以及键盘输入都被看做是文件,这是一个抽象的概念,我有一个好的理解方法,对于电脑屏幕来说,它一般是用来显示,假如我是一个高超的电脑玩家,我对电脑的一切都很熟悉...四、Linux与用户的交互 1、交互的结构 Linux操作系统的内核非常复杂,所以我们不能直接去跟内核进行交互,用户通过命令行解释器与操作系统进行交互,命令行解释器起到一个桥梁的作用,我们之前学过C语言

    4810
    领券