套接字 套接字是计算机网络数据结构.在任何类型的通信开始之前,网络应用程序必须创建套接字. 有两种类型的套接字,基于文件和面向网络的. unix套接字是第一个家族,AF_UNIX代表地址家族,缩写AF 第二种套接字的家族名称为AF_INET,AF_INET6 python只支持AF_UNIX,AF_NETLINK,AF_TIPC,AF_INET 面向连接的套接字TCP套接字,传输控制协议,必须使用SOCK_STREAM 无连接的套接字UDP套接字,用户数据报协议,必须使用SOCK_DRGAM 创…
Linux 系统编程 学习:006-基于socket的网络编程1:有关概念 背景 上一讲 进程间通信:System V IPC(2)中,我们介绍了System IPC中关于信号量的概念,以及如何使用. 这一讲我们来讨论"BSD socket(简称socket)",作为Linux中进程间通信的最后一种方式.实际上,socket可以跨主机通信. 本来文章标题应该以"进程间xxx"为字眼的,但是在开发中,我们更多提及"基于socket的网络编程". 知…
Linux 系统编程 学习:07-基于socket的网络编程2:基于 UDP 的通信 背景 上一讲我们介绍了网络编程的一些概念.socket的网络编程的有关概念 这一讲我们来看UDP 通信. 知识 UDP:User Datagram Protocol的缩写. UDP不提供复杂控制机制,利用IP提供面向无连接的通信服务.且它是将应用程序发来的数据在收到的那一刻,立即按照原样发送到网络上的一种机制. UDP面向无连接,可以随时发送数据.它常用于几个方面: 包总量较少的通信(DNS.SNMP等) 视频…
我相信你正在阅读本文的时候,可能是因为你渴望学习Linux技术.我想分享一下过去两年中我自己的一些学习经历,希望你能更顺利地成为Linuxer. 两年前在Linux系统的运行和维护方面找到了一份工作(当时估计该公司非常缺乏,哈哈),我在收到录取通知后才开始学习Linux技术.但是,由于本科生不是计算机专业,我甚至不知道CPU,内存,硬盘等的概念,我也不知道他们的功能到底是什么.坦率地说,我的Linux知识,包括计算机基础,都是在下班后学到的.所以,如果你对计算机有一定的了解,请相信Linux对你…
安装虚拟机和Linux系统的学习(随笔3) 1.安装虚拟机 首先我按着老师给的链接上的步骤一步一步安装VirtualBox,进行得十分顺利. 接着则是在虚拟机上安装Ubuntu. 然而安装完成以后按要求进行虚拟机的重启,却出现了以下情况. 我一边询问同学一边关闭虚拟机再次启动,却恢复正常了. 接下来是安装增强功能. 在进行这步时,由于自己的疏忽打错了路径,出现了一点点小插曲,说到底还是自己不够细心.到这里虚拟机的安装也告一段落了. 2.Linux命令的学习 实验楼里建议的学习路径如图. 我印象较…
Java网络编程和NIO详解9:基于NIO的网络编程框架Netty 转自https://sylvanassun.github.io/2017/11/30/2017-11-30-netty_introduction/ netty是基于NIO实现的异步事件驱动的网络编程框架,学完NIO以后,应该看看netty的实现,netty框架涉及的内容特别多,这里只介绍netty的基本使用和实现原理,更多扩展的内容将在以后推出. 本系列文章首发于我的个人博客:https://h2pl.github.io/ 欢迎…
javaSE学习笔记(16)---网络编程 基本概念 如今,计算机已经成为人们学习.工作.生活必不可少的工具.我们利用计算机可以和亲朋好友网上聊天,也可以玩网游.发邮件等等,这些功能实现都离不开计算机网络.计算机网络实现了不同计算机之间的通信,这必须依靠编写网络程序来实现.下面,我们将教大家如何编写网络程序. 在学习编程之前,我们首先要了解关于网络通信的一些概念. ▪ 什么是计算机网络? 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网…
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max-width: 100%; vertical-align: middle; } button, input, select, textarea { color: inherit; font: inherit; } input[type="checkbox"], input[type=&quo…
转自:http://developer.51cto.com/art/201106/268386.htm Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上的数据的传递.在java中,有专门的socket类来处理用户的请求和响应.利用SOCKET类的方法,就可以实现两台计算机之间的通讯.这里就介绍一下在JAVA中如何利用socket进行网络编程. 接第一篇浅谈JAVA中如何利用socket进行网络编程(一) 在上一篇中我们已经和大家…
转自:http://developer.51cto.com/art/201106/268385.htm Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上的数据的传递.在java中,有专门的socket类来处理用户的请求和响应.利用SOCKET类的方法,就可以实现两台计算机之间的通讯.这里就介绍一下在JAVA中如何利用socket进行网络编程. 在Java中Socket可以理解为客户端或者服务器端的一个特殊的对象,这个对象有两个关…
背景 上一讲我们介绍了 基于UDP 的通信 这一讲我们来看 TCP 通信. 知识 TCP(Transmission Control Protoco 传输控制协议). TCP是一种面向广域网的通信协议,目的是在跨越多个网络通信时,为两个通信端点之间提供一条具有下列特点的通信方式: 基于流的方式: 面向连接: 可靠通信方式: 在网络状况不佳的时候尽量降低系统由于重传带来的带宽开销: 通信连接维护是面向通信的两个端点的,而不考虑中间网段和节点. 为满足TCP协议的这些特点,TCP协议做了如下的规定:…
20189230杨静怡 2018-2019-2 <移动平台开发实践>第1周学习总结 安装Linux系统内容总结 一.学习"基于VirtualBox虚拟机安装Ubuntu图文教程",在自己笔记本上安装Linux操作系统,提交安装好的系统截图. 1.下载安装VirtualBox 2.安装Ubuntu (1)创建虚拟机 (2)安装Ubuntu 系统软件 (3)安装VirtualBox虚拟机增强功能 (4)分配共享数据空间 软件安装过程中出现的问题和解决方法 问题1:安装Linux…
实验一 TCP数据发送与接收 [实验目的] 1.熟练掌握套接字函数的使用方法. 2.应用套接字函数完成基本TCP通讯,实现服务器与客户端的信息交互. [实验学时] 4学时 [实验内容] 实现一个服务器与一个客户之间通讯.具体功能如下: (1)服务器端: 服务器端等待客户的连接,一旦连接成功,则显示客户的IP地址.端口号: 循环接收客户发来的信息并在终端上显示,同时在信息前加入序号并返回给客户端:当从客户接收到bye后不再发送给各户并退出程序. (2)客户端: 根据用户从终端输入的服务器IP地址及…
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux的一些建议. 一.从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的.例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linux 的基础之后,应该就可以很轻易的解决掉这方面的问题.而有些朋友们常常一接触Linux 就是希望构架网站,根本没有…
文的主要内容如下: 1.网络中进程之间如何通信? 2.Socket是什么? 3.socket的基本操作 3.1.socket()函数 3.2.bind()函数 3.3.listen().connect()函数 3.4.accept()函数 3.5.read().write()函数等 3.6.close()函数 4.socket中TCP的三次握手建立连接详解 5.socket中TCP的四次握手释放连接详解 6.一个例子(实践一下) 1.网络中进程之间如何通信? 本地的进程间通信(IPC)有很多种方…
一.问题的引入——socket的引入是为了解决不同计算机间进程间通信的问题 .socket与进程的关系 ).socket与进程间的关系:socket 用来让一个进程和其他的进程互通信息(IPC),而Socket接口是TCP/IP网络的API接口函数. ).进程间通信(本机内) 进程间通信(不同计算机,要联网) .socket与文件的关系——如何理解socket是种特殊的I/O? )Socket最先应用于Unix操作系统,如果了解Unix系统的I/O的话,就很容易了解Socket了,因为Socke…
通过<鸟哥的linux私房菜>的学习,自己得到的收获! 关机与重启 shutdown -k now "message" 用以发送所有信息,并不是真的关机.还可以登录新的用户 shutdwon -h now 现在关机 shutdown -h +45 (或45)   45分钟之后关机. shutdown -r 01:30      1:30重新启动系统 shutdwon -r now “message"   立即重启并发出警告信息. shutdown -c 取消运行s…
回顾数据库mysql的备份和恢复: show databases; user spdb1; show tables; 在mysql/bin目录下 执行备份: ./mysqldump -u root -p spdb1 > /home/spdb1.bak 会提示输入用户root的密码. 删除一个数据库 drop database  spdb1; 恢复数据库: mysql -u root -p  数据库名 < /home/spdb1.bak 恢复数据库前需要新建一个空的数据库,否则报错. 在/mys…
Linux系统,不知大家是否了解.接触计算机不多或对计算机不感冒的人可能对其比较陌生,曾经的我也是.上大学前的我的确对Linux一无所知,那时候接触面窄,都没有听说过此名字,上了大学后,身边的人有学习或者用此系统的才知道Linux的存在.那今天我就聊聊我学习Linux的过程. 首先,从我认识Linux说起,记得上大学时,无论是上课听讲还是做作业几乎都会应用到多媒体网络,电脑好像成为了必需品.因此同学几乎人手一个电脑,于是我也买了一台属于自己的电脑,有了新电脑是高兴,但同时新的问题也出现了,那就是…
目录 /etc/fstab 文件的作用是什么? Linux 内核的图形化启动是怎么回事? Linux 系统中的文件名是否以大小写来进行区别? 「GRUB 中无法找到硬盘」怎么解决? 「GRUB 及配置文件中对磁盘分区的表示与 /dev 中的设备文件」有什么不同? GRUB 的配置文件是什么?有什么用? rootfs 根文件系统是什么? 内存磁盘(RAM Disk)是什么? 内存磁盘的大小是怎么弄的? 内存文件系统是怎么回事? 根文件系统与内存文件系统有什么关系? 辅助系统的作用是什么? 辅助文件…
目录 autoreconf 命令的作用是什么? aclocal automake -a autoconf 一条命令搞完三面三步 既然有其他的「编译控制软件」为何还是使用 make 来进行编译控制? Module-Init-Tools 软件包的作用是什么? Patch 软件包的作用是什么? Psmisc 软件包的作用是什么? Rsyslog 软件包的作用什么? sysvint 软件包的作用是什么? Udev 软件包的作用是什么? DHCPCD 软件包的作用是什么? Xz-Utils 软件包的作用是…
目录 Binutils 软件包有什么用? make -k 的作用是什么? man-pages 里有几种文档?分别表示什么意思? 如何查询指定目录的 man-pages ? 如何使用 make 命令的同时,修改 makefile 中的文件的值? pkg-config 软件包的用途是什么? Ncurses 软件包的作用是什么? Util-linux-ng 软件包的作用是什么? coreutils 软件包的作用是什么? Iana-etc 软件包的作品用是什么? M4 软件包的作用是什么? Procps…
交叉编译是什么? 交叉编译就是在一个系统上,编译生成另外一个系统运行的程序文件. 「硬件体系结构」和「操作系统」的关系是什么? 硬件体系结构也可以称为架构,主要是通过 CPU 的指令集来进行区分的,操作系统通常是以内核来进行区分的. 一种体系结构可以运行多种操作系统,一种操作系统也可能运行在不同的体系结构上,所以称呼一种系统平台时将二者结合起来,如 X86_Linux,表示在 x86 平台上运行 Linux 系统,MIPS Linux 表示在 MIPS 上运行 Linux 系统. 「本地编译」和…
今天看了一个关于Linux系统安全的视频教程,这个教程有很多的知识点,我会分几篇博文将我的笔记分享出来. 首先是关于Linux文件系统类型的一些知识,Linux有四种常见的文件系统类型(网上大多数是3种,但我觉得链接文件类型应该也算作一种). 1.普通文件(Ordinary File) 普通文件分为两种:文本文件与二进制文件 a.文本文件 以ASCII码形式存储,可用文本编辑器查看. 下面通过一个示例来加深印象,我在home目录下新建了一个无标题文档: 下面我用 ls -l 无标题文档 来查看这…
转至 :http://blog.csdn.net/majianfei1023/article/details/45788591 socket可读可写条件,经常做为面试题被问,因为它考察被面试者对网络编程的基础了解的是不是够深入. 要了解socket可读可写条件,我们先了解几个概念:1.接收缓存区低水位标记(用于读)和发送缓存区低水位标记(用于写): 每个套接字有一个接收低水位和一个发送低水位.他们由select函数使用. 接收低水位标记是让select返回"可读"时套接字接收缓冲区中所…
目录 /dev 目录是干什么的? /proc 和 /sys 目录是干什么的? udev 这个软件是干什么用的? 目录映射是临时性的,还是永久性的? 命令行里大括号 "{}" 的作用是什么? 设置目录权限为 "1777" 表示什么? ls -l 后,第一列第一个字符表示什么?第三列和第四列又表示什么? exec 命令的特点是什么? 其他函数库文件都已 lib 开头,那么 ld 开头的函数库文件有什么不同呢? ldd /bin/cat 的结果如何解析? 是 ldd 命令…
Linux 系统定制原理 虚拟根目录 我们的目标是为了完成目标系统(也就是我们要做的系统),他是一个可以独立运行的系统,不依赖雨主系统和临时系统,根据 Linux 系统的特点它需要存放在根目录下面,但是却有一个问题,主系统在制作目标系统的过程中,他是一直运行的,因为你制作过程中需要用到主系统的命令,也就是说这个主系统也是挂载在根目录下面的,两个系统都分别需要有根目录,就会出现矛盾,因为根目录只能有一个. 为了解决这个问题,就有了虚拟根目录. Linux 内核启动时简历的根目录称为真正的根目录,虚…
第二章.基础准备--Linux 系统定制原理 Linux 系统的组成及架构 共享库和静态库 在 Linux 系统中,函数库包含两种形式:共享库和静态库. 共享库 共享库在程序运行时,为其提供所需要的函数,所以程序运行时该共享库必须存在系统中,且能够被系统找到并且使用. 静态库 静态库在编译程序的期间就将各种函数编译到程序中,程序运行的时候,即使该静态库不存在也可以正常调用其中的函数. C 库及各类功能库 在常规的 Linux 系统中,一般提供一个 C 函数库的实现,所谓的 C 函数库就是将标准…
远程连接: 1.查看IP地址  ip addr 2.远程登陆linux系统 ssh  主机名@IP地址 文件操作: 新建文件touch 例如:touch test.txt (创建单个文件) 例如:touch test{01..10}.txt  (批量创建文件) 查看目录下的文件 ls  全称list 例子1:ls test09.txt #查看test09.txt是否存在例子2:ls *.txt #查看以txt结尾的所有文件例子3:ls -1 #以一行一个文件的方式显示例子4:ls -a #查看所…
转自: http://www.cnblogs.com/nearmeng/p/4043548.html 1 libevent介绍和安装 介绍 libevent是一个轻量级的基于事件驱动的高性能的开源网络库,并且支持多个平台,对多个平台的I/O复用技术进行了封装,当我们编译库的代码时,编译的脚本将会根据OS支持的处理事件机制,来编译相应的代码,从而在libevent接口上保持一致. 在当前的服务器上,面对的主要问题就是要能处理大量的连接.而通过libevent这个网络库,我们就可以调用它的API来很…