wince软件开发人员应了解的socket网络编程一(摘录)

本文为我在学习孙鑫先生VC视频教程时所摘录的重点部分,TCP/IP架构这种永不失为经典的东东确实给我们的启发很多 ,在纷繁复杂的种种事务面前,我们何尝能不思考更好的解决方法,其间也饱含"大事化小,小事化了"的生活智慧......

网络状况:

多种通信媒介---------有线,无线

不同种类的设备:通用,专用

不同的OSUNIXWINDOWS

不同的应用环境:固定,移动

不同业务种类:分时,交互,实时

宝贵的投资和积累:有形,无形

用户业务的延续性:不允许出现大的跌宕起伏

以上各点相互交织,形成了非常复杂的系统应用环境

ISO/OSI七层参考模型:

应用层-------------处理网络应用

表示层-----------数据表示

会话层--------------主机间通信

传输层-------------端到端的连接

网络层----------------寻址和最短路径

数据链路层--------------介质访问(接入)

物理层----------二进制传输

TCP/IP模型

应用层

传输层

网络层

网络接口层

OSI各层所使用的协议:

应用层:远程登录telnet,文件传输ftp,超文本传输http,域名服务DNS,简单邮件传输SMTP,邮局协议pop3

传输层:传输控制TCP,用户数据报udp

TCP-----面向连接的可靠的传输

UDP-----无连接的不可靠的传输

网络层:网际IPInternet互联网控制报文协议ICMPInternet组管理协议IGMP

协议端口:

抽象的软件结构(包括一些数据结构和IO缓冲区),应用程序通过系统调用与某端口建立连接后,相应进程发给传输层的数据都通过该端口输出,传输层传给该端口的数据都被相应的进程所接收

16位数字表示:1024以下保留给预定义服务

网络编程中注意主机字节序与网络字节序转换

C/S模式存在的必要性:

一,              建立网络的起因是网络中软硬件资源,运算能力和信息不均等,需要共享,从而资源多的主机提供服务,资源少的客户请求服务这一非对等作用

二,              网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为希望通信的进程间建立联系,为二者的数据交换提供同步

Windows socketsMS的网络程序设计接口,由berkeley sockets扩展而来,以DLL形式提供:提供了一些异步函数,并增加了符合WINDOWS消息驱动特性的网络事件异步选择机制

套接字类型:

流式套接字SOCK_STREAM

提供面向连接,可靠的数据传输服务,数据无差错的,无重复的发送,且按发送顺序接收

数据报式套接字SOCK_DGRAM

提供无连接服务,数据包以独立包形式发送,不提供无错保证,数据可能丢失或重复,并且接收顺序混乱

原始套接字SOCK_RAW

基于TCP(面向连接)的socket编程

服务器端程序:

1,创建套接字socket

2,将套接字绑定到一个本地地址和端口上bind

3,将套接字设为监听模式,准备接收客户请求listen

4,等待客户请求到来:当请求到来后,接受连接请求,返回一个新的对应此次连接的套接字accept

5,用返回的套接字和客户端进行通信send/recv

6,返回,等待另一客户请求

7,关闭套接字closesocket

客户端程序:

创建套接字socket

向服务器发出连接请求connect

和服务器端进行通信send/recv

关闭套接字closesocket

基于UDP(面向无连接)的socket编程

服务器端程序:

1,创建套接字socket

2,将套接字绑定到一个本地地址和端口上bind

3,等待接收数据recvfrom

4, 关闭套接字closesocket

客户端程序:

1,创建套接字socket

2向服务器发送数据sendto

3, 关闭套接字closesocket

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值