`

《Linux C程序设计大全》学习笔记(一)---Linux网络编程

 
阅读更多
一、相关数据结构与函数
1、网络通信地址
struct sockaddr_in
struct sochaddr
2、子序转换
uint32_t htonl();
uint32_t ntohl();
3、地址形式转换
const char *inet_ntop();
int inet_pton();
4、获取主机信息
struct hostent *gethostent();
5、通过域名查询IP地址
int getaddrinfo();
6、面向连接数据传输的读写函数
send函数 recv函数
7、无连接数据传输的读写函数
sendto函数 recvfrom函数

二、有连接传输
1、服务器端编程步骤: 2、客户端编程步骤:

三、无连接传输
1、服务器端编程步骤: 2、客户端编程步骤:

四、非阻塞套接字,只需调用fcntl将套接字设为O_NONBLOCK即可

五、在调用listen函数和connect函数的时候内核会自动为套接字绑定一个IP地址和端口号,所以bind函数可有可无,不过还是有区别的

六、并发服务器:即处理连接和监听连接并发进行,各有自己的进程

七、使用select函数处理多个客户端的连接(程序清单24-3)

八、轮询设备状态
1、select(不支持STREAMS)
2、pselect(可屏蔽信号,其中SIGKILL不可以)
3、poll
分享到:
评论

相关推荐

    linux学习笔记(初学者可共勉)

    这是我学习linux时所写的一些笔记,新手可看,比较简单;主要包括一些linux c 编程开发函数大全,Linux C语言程序设计入门,shell编程,文件编程,VI,编译器,配置文件等等;

    C语言学习资料C语言技术编程经验分享C指针经验总结资料合集(25个).zip

    C语言学习资料C语言技术编程经验分享C指针经验总结资料合集(25个): c99标准.pdf C指针经验总结.pdf C程序设计语言.pdf ...《C陷阱与缺陷》学习笔记.txt 一份不错的C语言指针教程.pdf 再再论指针.pdf

    linux学习笔记(包含Linux系统和shell编程).zip

    Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化...

    Linux教程+ shell学习笔记 + Shell脚本常用命令+shell脚本100例资源合集

    本文整理了一份Linux shell学习笔记及基本命令合集,包含了LINUX常用操作命令和命令行编辑快捷键、shell基本命令,Linux相关使用配置教程等,需要的朋友可下载试试! shell是一个用C语言编写的程序,它是用户使用...

    嵌入式Linux和MiniGUI学习笔记.pdf

    附录1电子科技大学清水河校区802.x上网认证脚本——作者lili(可以用来做学习Shell编程的实例哦) 102 附录2针对mini2440开发板的输入引擎文件mini2440.h和mini2440.c(原创) 108 附录3 VIM配置文件~/.vimrc内容 116

    Linux-Cpp-Development-Advanced-Learning::smirking_face:Linux Cpp 后台开发进阶学习,校招必学:操作系统、计算机网络、网络编程、并发实战、数据库原理、设计模式、Linux内核笔记、Linux命令和Git等。校招笔记、项目,你值得拥有

      本项目用于Linux Cpp后台开发秋招学习,内容主要涵盖以下几个部分:Cpp进阶,操作系统, 计算机网络, Linux内核,MySQL数据库, Redis数据库, 数据结构与算法,Leetcode刷题等内容。我会对校招所需掌握的基础...

    c#学习笔记.txt

    很多人觉得它应该像C或者C++,但事实上它更像是java的一个clone,所以作为入门,读一下清华大学出版社出版的《Java 语言与面向对象程序设计》可能会对你有所帮助。本文假定你具备一切学习此语言所需的知识,没有也不...

    若干源程序资料12.rar

    2012-06-11 21:28 10,891,658 GPS应用程序设计.程序源代码.rar 2012-06-11 21:20 610,619 gram_analysis.rar 2012-06-11 21:38 536,654 HTML、CSS、JavaScript标签参考.pdf 2012-06-11 21:00 29,184 inline-block...

    嵌入式Linux入门笔记(十年程序员精品推荐、让你看得懂的笔记、结合开发板例程精心讲解)

    第一阶段在PC机上学习熟悉Linux. 一.Red Hat Linux 9下的常用操作… ………………… 二.Minicom的使用….… 三.NFS的使用… … 四.应用程序编程实验…… 五.模块编程实验…… 六.简单的字符设备驱动实验…… 第二...

    unix学习笔记

    第一章UNIX操作系统概述 1983年AT&T发布UNIX System V,系统功能已经趋于稳定和完善,现在最后版本为System V Release 4 代表性UNIX版本: 1.System V Release 4 (SVRV) 小型机上、大型机上使用。 2.加州大学...

    python源码笔记实战 物超所值

    07-网络编程 08-多线程 09-MongoDB数据库 10-正则表达式 11-Git 12-电子词典 13-HTMLCSS第一部分 14-HTML&CSS第二部分 15-前端项目 16- flask 17- Ajax 18-博客项目 19-Django 20-天天果园项目 21-爬虫基础 22-爬虫...

    Shell-脚本常用命令-文档.doc

    整理了一份Linux shell学习笔记及基本命令合集,包含了LINUX常用操作命令和命令行编辑快捷键、shell基本命令,Linux相关使用配置教程等,需要的朋友可下载试试! shell是一个用C语言编写的程序,它是用户使用Linux的...

    java jdk8 学习笔记

    13.第一个Hello World 使用b语言(c语言的前身)写的 第二章 1.java程序中的空格只能是半角空格符或者tab空格符 2.一个.java文档可定义多个类,但是只能有一个公开类,而且主文档名必须与公开类名相同。 3. 4...

    Java基础学习笔记(印象笔记)

    Java基础学习笔记(印象笔记) Java 是一种广泛使用的面向对象编程语言,最初由 Sun Microsystems(现为 Oracle Corporation)于1995年发布。它具有简单、易学、可移植、安全和高性能等特点。 Java 是一种跨平台语言...

    国嵌笔记。全集全集

    本人学习的国嵌笔记。操作详细! 第一季 精通嵌入式 4 一. 安装tftp服务器 4 二. Samba服务器安装 4 三. NFS服务器 5 四. 安装vsftpd FTP服务器 5 第2季-裸奔吧-ARM 6 一. 安装交叉编译器 6 二. 安装驱动 6 三...

    golang_learn:golang 学习笔记

    《Go程序设计语言》-译本 Go语言圣经 《Go语言学习笔记》-雨痕 - 柴树杉,曹春晖 《go语言高并发与微服务实战》 《go语言编程之旅》 :books:: golang实现分布式缓存: :books:: golang实现rpc: :books:: golang实现...

    嵌入式工程师必备压缩包

    此压缩包包括十余部嵌入式经典书籍,包括ARM 开发工程师入门宝典,ARM经典300问,GNU_Linux编程指南,Linux设备驱动程序设计入门,Linux网络编程,Linux下的C语言编程,S3C2410+Linux学习笔记等是一部书籍。

    关于学习笔记整理,包括Linux、Java、数据结构和算法,和一些IT工具的使用.zip

    它由Sun Microsystems(现在是Oracle Corporation)的James Gosling等人在1995年推出,被设计为一种简单、健壮、可移植、多线程、动态的语言。Java的主要特点和优势包括以下几个方面: 跨平台性(Write Once, Run ...

    C-plus-plus-Series:学习C ++的旅程

    C ++学习规划 一。二月计划 C ++入门二刷完成 笔记记录完成 二。三月学习计划 有效的C ++完成 剑指优惠看完 计算机网络与操作系统基础知识积累与背诵 刷题100道 ...面向对象程序设计 十二。模板与泛型

Global site tag (gtag.js) - Google Analytics