李成笔记网

专注域名、站长SEO知识分享与实战技巧

搞了半天,终于弄懂了TCP Socket数据的接收和发送,太难

本文将从上层介绍Linux上的TCP/IP栈是如何工作的,特别是socket系统调用和内核数据结构的交互、内核和实际网络的交互。写这篇文章的部分原因是解释监听队列溢出(listen queue overflow)是如何工作的,因为它与我工作中一直在研究的一个问题相关。

建好的连接怎么工作

先从建好的连接开始介绍,稍后将解释新建连接是如何工作的。

内核管理的每一个TCP文件描述符都是一个struct, 它记录TCP相关的信息(如序列号、当前窗口大小等等),以及一个接收缓冲区(receive buffer,或者叫receive queue)和一个写缓冲区(write buffer,或者叫write queue),后面我会交替使用术语buffer和queue。如果你对更多细节感兴趣,可以在Linux内核的net/sock.h中看到socket结构的实现。

Rust Socket编程之异步Socket编程

前言

在本章节中,我们将深入探讨如何在Rust中实现异步的Socket编程。异步编程允许我们在执行网络操作时避免阻塞线程,从而提升性能和响应速度。在传统的同步编程中,程序在等待I/O操作完成时会阻塞当前线程,而在异步编程中,我们可以通过非阻塞方式处理I/O,继续执行其他任务。这对于需要处理大量并发连接的服务器应用程序尤其重要。

Linux C语言socket网络编程

Linux C语言socket网络编程


需要Linux C 服务器开发视频学习资料的朋友请后台私信【架构】获取

注意:本文是按照 TCP、UDP的工作过程进行总结的

  1. TCP套

10分钟学会Socket通讯,学不会你打我

Socket通讯是软硬件直接常用的一种通讯方式,分为TCP和UDP通讯。

在我的职业生涯中,有且仅用过一次UDP通讯。而TCP通讯系统却经常写,正好今天写了一个TCP通讯的软件。总结一下内容

软件使用C#编程原因写的,为了能够使用所有的电脑,采用了NET Framework 4.0。

Linux TCP RST情况

导致“Connection reset”的原因是服务器端因为某种原因关闭了Connection,而客户端依然在读写数据,此时服务器会返回复位标志“RST”,然后此时客户端就会提示“java.net.SocketException: Connection reset”。可能有同学对复位标志“RST”还不太了解,这里简单解释一下:

深入剖析阻塞式socket的timeout

前言

网络编程中超时时间是一个重要但又容易被忽略的问题,对其的设置需要仔细斟酌。

本文讨论的是socket设置为阻塞模式,如果socket处于阻塞模式运行时,就需要考虑处理socket操作超时的问题。

Java socket详解(转)

一:socket通信基本原理。

首先socket 通信是基于TCP/IP 网络层上的一种传送方式,我们通常把TCP和UDP称为传输层。

C++基础语法梳理:网络编程丨Socket

Socket

Linux Socket 编程(不限 Linux)

Socket 中的 read()、write() 函数

jstack Unable to open socket file异常处理方法

1.问题

某台服务器出现假死的现象,服务进程在,但是就是不工作。于是想定位下,先看了下服务器本身的状态都是OK的,然后看下服务的状态,先执行如下的命令,发现服务是存在的,如下:

执行jps -ml输出如下:

然后执行jstack 2276,报出如下的错误:

windows tcp端口耗尽问题排查和解决方案

问题现象

疯狂的报错如下图:

主要错误的信息

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言