摘要: 考虑一个16位整数,它由2个字节组成。内存存储这两个字节的方法有两种:一种是将低序字节存储在起始地址,这叫做小端(little-endian)字节序;另外一种方法是将高序字节存储在起始地址,这成为大端(big-endian)字节序;也就是说2个字节或以上的数据,需要考虑大小端问题。1个字节的不需要考虑.......图中显示,16位值,8位低字节序保存在起始地址的是小端字节序;8位高序字节保存在其实地址的大端字节序;主机序和网络序的转换:网络协议都使用大端字节序,也就是高序字节存储在起始地址,但主机不确定是大端还是小端。所以我们在将16位及以上的数据发送到网络中时,需要进行字节序的转换:---- 阅读全文
posted @ 2014-03-04 20:06 大卫酱_David 阅读(453) 评论(0) 推荐(0) 编辑
摘要: IPv4套接字地址结构:套接字都需要有一个指向套接字地址结构的指针作为参数。每个协议簇都定义它自己的套接字地址结构。这些结构的名字均已sockaddr_开头,并以对应每个协议族的唯一后缀结尾。windows引入了winsock2后,程序在link时需要的库文件也发生了变化。winsock.h对应的是wsock32.lib,而winsock2需要的是ws2_32.lib。这是需要注意的地方,否则连编会失败。同时,有些程序是include了。这个头文件本身包含了,这是就需要注意include的顺序,必须在之前include,才能避免重复定义的问题。#include #pragma comment( 阅读全文
posted @ 2014-03-04 15:36 大卫酱_David 阅读(1885) 评论(0) 推荐(0) 编辑
摘要: 套接字(socket)当今已成为最流行的网络通信应用程序接口。套接字最初是由加利福尼亚大学Berkeley分校为Unix操作系统开发的网络通信接口,后来它又被移植到DOS与Windows系统,特别是近几年来互联网络在全世界范围内被广泛普及并且增长迅猛,进一步奠定了它在网络通信程序开发领域的主宰地位。跨系统网络互联的呼声在我国也越来越高。近来,在开发的银行与证券联网系统中,我们尝试做了由Unix Sockets到Windows Sockets通信应用程序的移植,有所体会,望能将移植过程中应该注意的几点问题与热心于这方面工作的人们共同作以探讨,以期能起到抛砖引玉的作用。1. 修改头文件的定义Uni 阅读全文
posted @ 2014-03-04 14:18 大卫酱_David 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 在开发通信程序之前,都要先确定这些程序相互通信所使用的协议(protocol),在深入设计前,我们都需要先从高层次来判断通信由哪个程序发起以及相应在何时产生。举例来说,一般认为web服务器是一个长时间运行的程序(即守护程序,daemon),它只响应来自网络的请求时才发送网络消息。大多数网络应用都是划分成客户端(client)和服务器(server)来组织的。往往是客户端发起请求,但也有复杂网络中需求异步回调(asynchronous callback)通信,也就是服务器向客户端发起请求。TCP/IP的焦点是协议簇:当前通用的IP协议,泛指IPv4,当然,现在也必须要考虑IPv6的情况,渐渐的以 阅读全文
posted @ 2014-03-04 13:21 大卫酱_David 阅读(410) 评论(0) 推荐(0) 编辑