第1讲-Linux网络编程基础.doc_第1页
第1讲-Linux网络编程基础.doc_第2页
第1讲-Linux网络编程基础.doc_第3页
第1讲-Linux网络编程基础.doc_第4页
第1讲-Linux网络编程基础.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ch1.Linux网络编程基础知识1 客户机-服务器编程模型1.1 基本的编程模型l 网络应用的标准模型是客户机-服务器模型l 客户机-服务器模型是非对称模型l 网络程序的执行过程n 服务程序启动n 客户机程序启动n 客户机程序与服务器建立连接n 客户机提出请求n 服务器处理请求,返回相应结果n 服务器断开连接,进入等待状态l 循环服务器n 同一时刻只处理一个客户机请求,处理请求过程中下一请求等待n 节省服务器资源,响应时间长,适合处理非耗时请求l 并发服务器n 并发执行,每收到一个连接请求创建一个进程处理该连接,服务器继续等待下一连接n 响应速度快,占用系统资源多1.2 客户端/服务器程序示例l 客户端-服务器程序通信模型l 源码分析2 网络调试方法2.1 Linux下的常用网络命令l 命令ifconfig查看网络配置(网卡)命令l 命令netstat查看网络状态命令Proto Local Address Foreign Address StateTCP cpi-wanbo:epmap cpi-wanbo:0 LISTENINGTCP cpi-wanbo:microsoft-ds cpi-wanbo:0 LISTENINTCP cpi-wanbo:1026 cpi-wanbo:0 LISTENINGTCP cpi-wanbo:1027 cpi-wanbo:0 LISTENINGTCP cpi-wanbo:3306 cpi-wanbo:0 LISTENINGTCP cpi-wanbo:1025 cpi-wanbo:0 LISTENINGTCP cpi-wanbo:1029 cpi-wanbo:0 LISTENINGTCP cpi-wanbo:1030 cpi-wanbo:0 LISTENINGTCP cpi-wanbo:43958 cpi-wanbo:0 LISTENINGTCP cpi-wanbo:ftp cpi-wanbo:0 LISTENINGTCP cpi-wanbo:ftp cpi-wanbo:0 LISTENINGTCP cpi-wanbo:netbios-ssn cpi-wanbo:0 LISTENINGUDP cpi-wanbo:microsoft-ds *:*UDP cpi-wanbo:isakmp *:*UDP cpi-wanbo:netbios-ns *:*l 命令ping检查网络是否可达的命令l 命令telnet简单网络客户端(bbs)2.2 简单测试程序3 TCP/UDP介绍(简单介绍)3.1 TCP/IP协议层次l 应用程序角度的TCP/IP协议层次3.2 Internet协议(IP)l IP协议数据包格式l IP地址分类l 子网络3.3 Internet消息控制协议(ICMP)(*)3.4 用户数据包协议(UDP)l UDP数据包格式l UDP协议特点3.5 传输控制协议(TCP)l TCP协议特点l TCP协议数据段格式(p19图2-7)SYN位请求建立连接ACK位应答标志FIN位请求关闭连接RST位请求复位连接l TCP连接的建立和关闭TCP连接是全双工连接建立连接需要3次握手(p21图2-8)断开连接需要分别断开读通道和写通道(p23图2-9)l 标识TCP连接标识一个TCP连接需要4个值:本地IP地址、本地端口号、对方IP地址和对方端口号l TCP状态转换图(p23图2-10)注意TIME_WAIT状态4 gcc编程基础知识简介4.1 源程序编辑(使用vi编辑器)l 功能强大的文本编辑器viml 使用vim编辑文本l.1 启动vim:在命令行模式下键入vi 文件名回车l.2 进入文本编辑模式:键入a,i或者ol.3 切换到命令模式:键入Escl.4 切换到last line模式:在第3步基础上键入:l.5 退出vim:进入last line 模式,输入q!l.6 保存文件:进入last line 模式,输入w 文件名4.2 源程序编译l gcc编译器编译源文件:gcc c client.c生成可执行文件:gcc client.c o client生成调试信息:gcc g client.c执行可执行文件:./clientl g+编译器4.3 源程序调试l 程序中输出中间变量的值l gdb调试4.4 头文件和系统求助l man命令的使用man 函数名/系统命令查看函数/系统命令的使用方法man 2 函数名 查看系统调用函数的说明和头文件man 3 函数名查看C函数的说明和头文件5 Linux使用基础知识5.1 简单文件操作命令l ls显示当前目录中的内容l ls(-l)以较详细的格式显示当前目录中的内容l cd切换目录l mkdir创建目录l rmdir删除空目录l cp复制文件l cp data1.txt data2.txt 复制文件data1.txt到data2.txtl cp data1.txt /tmp/data)复制文件data1.txt到目录/tmp/datal rm删除文件或目录l rm myfile删除一个文件l rm * 删除所有文件l more显示画面暂停l ls l|morel more data.txt 显示文本文件内容l mv移动或更改文件、目录名称l mv 1.txt .移动文件1.txt到上一层目录l mv 1.txt 2.txt 将文件1.txt改名为2.txtl pwd显示用户当前所在目录5.2 U盘使用方法l 找到你的U盘设备标识fdisk-l/dev/sd?显示结果如下(以64MU盘为例):Disk/dev/sda:66MB66060288 bytes16 head 32 sectors/track,252 cylindersunits=cylinders of 512*512=262144bytesdevicebootstartendblocksidsystem/dev/sda1*1251642406fat16l 建立目录,假定为USBl 加载U盘mount /dev/sda1 /usbl 卸载U盘umount /dev/sda1/usb5.3 cdrom使用l 加载cdrommount /mnt/cdroml 卸载cdromumount /mnt/cdrom (不使用此命令卸载cdrom,无法弹出光盘)5.4 访问windows硬盘分区l mount t vfat /dev/hda1/mnt/c 依

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论