写点什么

网络编程

0 人感兴趣 · 46 次引用

  • 最新
  • 推荐

Linux 网络编程 -UDP 和 TCP 协议详解

网络协议是每个程序员都要掌握的基础知识,干啥都离不开网络,就算在家里新买了个路由器不是吗,同事连不上网,你的女朋友手机没有网看剧了正看到高潮部分,到那时候你打开百度......那嫌弃的你的眼神仿佛在说,就这?程序员连个网都不会修?以上都是臆想,以实际为准

深入 Linux C/C++ Timer 定时器的实现核心原理

我曾以为像定时器这样基础的功能,操作系统会有一个完备的实现。当需要开启一个定时任务的时候,会有一个优雅的、如下形式的接口:

【详解文件 IO 系列】讲讲 MQ 消息中间件 (Kafka,RocketMQ 等)与 MMAP、PageCache 的故事

首先来看一下一般的IO调用。在传统的文件IO操作中,我们都是调用操作系统提供的底层标准IO系统调用函数 read()、write() ,此时调用此函数的进程(在JAVA中即java进程)由当前的用户态切换到内核

https://static001.geekbang.org/infoq/6a/6aa01a8ab6cedc8146a5529fce833c27.jpeg?x-oss-process=image/resize,w_416,h_234

DNS 原理及其应用

用户头像
赖猫4 月 13 日

网络上的所有主机,从只能手机到笔记本电脑个人PC到为大量零售网站提供内容服务的服务器,都是通过IP的形式定位找到彼此并互相通信。然而IP地址对于人类来说比较不易于记忆且复杂,所以当我们打开浏览器浏览网站时,我们不再需要通过这些冗长复杂的IP进行访问

https://static001.geekbang.org/infoq/7c/7c11cbffbd11053d052f6d7c61c19938.jpeg?x-oss-process=image/resize,w_416,h_234

OSI 七层模型

用户头像
赖猫4 月 12 日

物理层的主要任务描述为确定与传输媒体的接口的一些特性,提供用于建立、保持和断开物理连接的机械的、电气的、功能的和过程的条件,也就是说物理层提供有关同步和比特流在物理媒体上的传输手段。

https://static001.geekbang.org/infoq/12/12a469913373ef2b9af55f783fda6ea8.png?x-oss-process=image/resize,w_416,h_234

跟着源码一起学:手把手教你用 WebSocket 打造 Web 端 IM 聊天

用户头像
JackJiang4 月 6 日

本文将基于Tomcat和Spring框架实现一个逻辑简单的入门级IM应用,对于即时通讯初学者来说,能找到一个简单直接且能顺利跑通的实例代码,显然意义更大,本文正是如此

Linux 后端服务器网络编程之线程模型丨 reactor 模型详解

  上一篇文章《后端服务器网络编程之 IO 模型》中讲到服务器端高性能网络编程的核心在于架构,而架构的核心在于进程/线程模型的选择。本文将主要介绍传统的和目前流行的进程/线程模型,在讲进程/线程模型之前需要先介绍一种设计模式: Reactor 模式,不明白

后端服务器网络编程之 IO 模型

  在编写服务器端网络程序时,我们最常见到阻塞、非阻塞、同步和异步这四个词。它们的解释分别如下:

https://static001.geekbang.org/infoq/b5/b51d4dd90aa3ba03e995e62ff2cf2f21.jpeg?x-oss-process=image/resize,w_416,h_234

网络编程及通信三要素

通过通信线路(有线或无线)可以把不同地理位置且相互独立的计算机连同其外部设备连接起来,组成计算机网络。在操作系统、网络管理软件及网络通信协议的管理和协调下,可以实现计算机之间的资源共享和信息的传递。

https://static001.geekbang.org/infoq/07/0763270c96beb4400f88d892981c1fbc.png?x-oss-process=image/resize,w_416,h_234

厘清 I/O 模型

用户头像
sakila2 月 25 日

首先来解释同步和异步的概念,这两个概念与消息的通知机制有关。也就是同步与异步主要是从消息通知机制角度来说的。

https://static001.geekbang.org/infoq/b0/b019ce55ea5bf34064e6856eaf1a0478.jpeg?x-oss-process=image/resize,w_416,h_234

网络编程入门从未如此简单 (二):假如你来设计 TCP 协议,会怎么做?

用户头像
JackJiang2 月 24 日

本文原题“你管这破玩意儿叫TCP?”,由闪客sun分享,转载请联系作者。

https://static001.geekbang.org/infoq/3f/3fc86fe4a1b81cbe9404e8d31d931b92.jpeg?x-oss-process=image/resize,w_416,h_234

从根上理解高性能、高并发 (六):通俗易懂,高性能服务器到底是如何实现的

用户头像
JackJiang1 月 25 日

本篇是本系列文章的完结篇,你将能了解到,一个典型的服务器端是如何利用前5篇中讲解的各单项技术从而实现高性能高并发的。

https://static001.geekbang.org/infoq/e5/e5d6c1616a33884d29d51c6c1654d0a4.png?x-oss-process=image/resize,w_416,h_234

【小菜学网络】交换机与 MAC 地址学习

用户头像
fasionchan1 月 21 日

为了解决集线器工作效率低下的尴尬,我们需要设计一种更高级的网络设备。新设备根据以太网帧的目的 MAC 地址,将它精准地转发到正确端口。

https://static001.geekbang.org/infoq/6b/6b95977ca9e48bbddf65499f6970cc87.jpeg?x-oss-process=image/resize,w_416,h_234

从根上理解高性能、高并发 (五):深入操作系统,理解高并发中的协程

用户头像
JackJiang1 月 18 日

了解和掌握协程技术对于很多程序员(尤其海量网络通信应用的后端程序员)来说是相当有必要的,本文正是为你解惑协程技术原理而写。

https://static001.geekbang.org/infoq/e5/e5d6c1616a33884d29d51c6c1654d0a4.png?x-oss-process=image/resize,w_416,h_234

【小菜学网络】集线器

用户头像
fasionchan1 月 18 日

采用以太网进行通信的主机,需要通过网线之类的介质连接到一起。那么,如何将多根网线连接在一起呢?

https://static001.geekbang.org/infoq/e5/e5d6c1616a33884d29d51c6c1654d0a4.png?x-oss-process=image/resize,w_416,h_234

【小菜学网络】以太网帧结构

用户头像
fasionchan1 月 18 日

上一小节,我们通过一个虚构的协议,初步认识了数据链路层的工作原理。数据链路层主要解决由若干主机组成的本地网络的通讯问题,寻址 和 复用分用 思想在其中发挥着关键作用。

https://static001.geekbang.org/infoq/e5/e5d6c1616a33884d29d51c6c1654d0a4.png?x-oss-process=image/resize,w_416,h_234

【小菜学网络】MAC 地址详解

用户头像
fasionchan1 月 13 日

上一小节介绍了以太网帧的结构,以及帧中各个字段的作用。参与以太网通讯的实体,由以太网地址唯一标识。以太网地址也叫做 MAC 地址,我们对它仍知之甚少。

https://static001.geekbang.org/infoq/90/900c6137f86347a949bfed8b583b3c57.jpeg?x-oss-process=image/resize,w_416,h_234

从根上理解高性能、高并发 (四):深入操作系统,彻底理解同步与异步

用户头像
JackJiang1 月 12 日

本篇是高性能、高并发系列的第4篇文章,本篇将从基着眼,为你讲解什么是同步和异步,以及这两个极为重要的概念在高并发、高性能技术中编程中到底意味着什么。

https://static001.geekbang.org/infoq/a1/a17bc54c4786f3fe09b5241a3ceaf6fe.jpeg?x-oss-process=image/resize,w_416,h_234

从根上理解高性能、高并发 (三):深入操作系统,彻底理解 I/O 多路复用

用户头像
JackJiang1 月 5 日

本篇是高性能、高并发系列的第3篇文章,上篇里我们讲到了I/O技术,本篇将以更具象的文件这个话题入手,带你一步步理解高性能、高并发服务端编程时无法回避的I/O多路复用及相关技术。

https://static001.geekbang.org/infoq/62/62770fc99e14ced2d15b90dee21050d5.png?x-oss-process=image/resize,w_416,h_234

UDP 连接要不要发起 connect

用户头像
kof113211 月 4 日

UDP连接,到底要不要首先发起connect调用

https://static001.geekbang.org/infoq/1f/1f25a4cc27ceff623c8952341f9cfeee.jpeg?x-oss-process=image/resize,w_416,h_234

从根上理解高性能、高并发 (二):深入操作系统,理解 I/O 与零拷贝技术

用户头像
JackJiang2020 年 12 月 28 日

本篇是高性能、高并发系列的第2篇文章,在这里我们来到了I/O这一话题。你有没有想过,当我们执行文件I/O、网络I/O操作时计算机底层到底发生了些什么?对于计算机来说I/O是极其重要的,本篇将带给你这个问的答案。

https://static001.geekbang.org/infoq/e5/e5d6c1616a33884d29d51c6c1654d0a4.png?x-oss-process=image/resize,w_416,h_234

【小菜学网络】数据链路层概述

用户头像
fasionchan2020 年 12 月 16 日

上一小节,我们以两台主机为例,讨论了一个理想化的物理层模型。 现在,我们将问题进一步延伸:多台主机如何实现两两通讯呢?我们以三台主机为例进行讨论:

https://static001.geekbang.org/infoq/e5/e5d6c1616a33884d29d51c6c1654d0a4.png?x-oss-process=image/resize,w_416,h_234

【小菜学网络】物理层概述

用户头像
fasionchan2020 年 12 月 12 日

假设,计算机网络现在还没有被发明出来,作为计算机科学家的你,想在两台主机间传输数据,该怎么办?

https://static001.geekbang.org/infoq/cb/cba7250d5030724b64772c22075aa2d4.jpeg?x-oss-process=image/resize,w_416,h_234

不为人知的网络编程 (十):深入操作系统,从内核理解网络包的接收过程 (Linux 篇)

用户头像
JackJiang2020 年 12 月 9 日

通过本文,你将从操作系统内部这一层深入理解网络是如何实现的,以及各个部分之间是如何交互的。

网络编程_网络编程资料文章-InfoQ写作平台