210 likes | 468 Views
VxWorks 及其应用开发. 陈香兰 xlanchen@ustc.edu.cn http://staff.ustc.edu.cn/~xlanchen 2006 年 7 月. 课程内容. VxWorks 和 Tornado 简介 任务和任务间通信 信号、中断处理与定时机制 调试环境与实例分析 网络编程 VxWorks 操作系统配置. VxWorks 网络编程. xlanchen@2006.7.26. Socket 编程接口. Client/server 编程模式. 网络编程的主要模式是 client/server Client :请求服务的一方
E N D
VxWorks及其应用开发 陈香兰 xlanchen@ustc.edu.cn http://staff.ustc.edu.cn/~xlanchen 2006年7月
课程内容 • VxWorks和Tornado简介 • 任务和任务间通信 • 信号、中断处理与定时机制 • 调试环境与实例分析 • 网络编程 • VxWorks操作系统配置
VxWorks网络编程 xlanchen@2006.7.26
Client/server编程模式 • 网络编程的主要模式是client/server • Client:请求服务的一方 • Server:提供某种服务的一方 • 例如WWW、telnet • Client与Server的划分不是绝对的
在TCP/IP协议中,Client/Server之间可以使用传输层协议(TCP、UDP)进行通信在TCP/IP协议中,Client/Server之间可以使用传输层协议(TCP、UDP)进行通信 • Client端通常通过指定服务器的IP地址和端口号来找到服务端 • 也可以通过广播的方式(很少使用)
服务端程序设计的两种基本模式 • 不管使用TCP还是UDP协议,在程序结构上都可以使用两种基本模式: • 循环模式 • 并发模式 • 循环模式:服务端进程一次只能处理一个请求,为单进程结构 • 并发模式:服务端进程一次可以处理多个请求,通常使用多进程结构
面向连接服务端(TCP)的循环模式 socket bind listen while(accept) { While:send/recv close }
面向连接服务端(TCP)的并发模式 socket bind listen while(accept) { taskSpawn } • Task: • while:send/recv • close
我们通过实例讲解VxWorks下TCP/IP网络编程 • tcpExample.h • tcpClient.c • tcpServer.c
网络字节序 • 不同体系结构的CPU使用不同的字节序 • Big_endian,little_endian • 网络上规定使用big_endian • 下列宏用于进行主机字节序与网络字节序之间的转换 • htonl — host to net long • htons — host to net short • ntohl — net to host long • ntohs — net to host short