随笔分类 -  网络编程

标准I/O库
摘要:前言:我想大家学习C语言接触过的第一个函数应该是printf,但是我们真正理解它了吗?最近看Linux以及网络编程这块,我觉得I/O这块很难理解。以前从来没认识到Unix I/O和C标准库I/O函数压根不是一码事。Unix I/O也叫低级I/O,也叫Unbuffered I/O,是操作系统内核部分, 阅读全文

posted @ 2018-02-24 08:52 AlanTu 阅读(450) 评论(0) 推荐(0)

浅析I/O模型
摘要:以下是本文的目录大纲: 一.什么是同步?什么是异步? 二.什么是阻塞?什么是非阻塞? 三.什么是阻塞IO?什么是非阻塞IO? 四.什么是同步IO?什么是异步IO? 五.五种IO模型 六.两种高性能IO设计模式 一.什么是同步?什么是异步? 同步和异步的概念出来已经很久了,网上有关同步和异步的说法也有 阅读全文

posted @ 2018-02-23 16:30 AlanTu 阅读(173) 评论(0) 推荐(0)

I/O复用 - 各种不同的IO模型
摘要:一、概述 我们看到上面的TCP客户同时处理两个输入:标准输入和TCP套接字。我们遇到的问题就是在客户阻塞于(标准输入上的)fgets调用期间,服务器进程会被杀死。服务器TCP虽然正确地给客户TCP发送一个FIN,但是既然客户进程阻塞于从标准输入读入的过程,它将看不到这个ROF,知道从套接字读时为止( 阅读全文

posted @ 2018-02-23 16:27 AlanTu 阅读(305) 评论(0) 推荐(0)

Linux查看端口使用状态、关闭端口方法
摘要:【摘要】 今天在编写socket,在期间遇到查看某个端口的状态,随后从网上找了一下,现在总结一下。 【内容】 大家都知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭 阅读全文

posted @ 2018-02-23 16:26 AlanTu 阅读(89465) 评论(0) 推荐(0)

TCP客户/服务器简单Socket程序
摘要:建立一个 TCP 连接时会发生下述情形: 1. 服务器必须准备好接受外来的连接。这通常通过调用 socket、bind 和 listen 这三个函数来完成,我们称之为被动打开。 2. 客户通过调用 connect 发起主动打开,这导致客户TCP发送一个SYN(同步)分节,标识希望连接的服务器端口以及 阅读全文

posted @ 2018-02-23 16:14 AlanTu 阅读(675) 评论(0) 推荐(0)

地址已经被使用 - Address already in use
摘要:很多socket编程的初学者可能会遇到这样的问题:如果先ctrl+c结束服务器端程序的话,再次启动服务器就会出现Address already in use这个错误,或者你的程序在正常关闭服务器端socket后还是有这个问题。正如下面的这段简单的socket程序。 server.c #include 阅读全文

posted @ 2018-02-23 16:13 AlanTu 阅读(8788) 评论(0) 推荐(0)

导航