1 / 8
文档名称:

socket与TCP-UDP编程.pdf

格式:pdf   页数:8页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

socket与TCP-UDP编程.pdf

上传人:翩仙妙玉 2012/9/16 文件大小:0 KB

下载得到文件列表

socket与TCP-UDP编程.pdf

文档介绍

文档介绍:踏雪无痕
socket与TCP/UDP编程
分类: 网络架构 2011-12-14 11:21 483人阅读评论(1) 收藏举报
转自:ngmin/archive/2010/06/10/
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发
TCP/IP网络上的应用程序。上的TCP/IP网络编程,必须理解Socket接口。
Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,
就很容易了解Socket了。网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述
符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述
符,随后的连接建立、数据传输等操作都是通过该Socket实现的。常用的Socket类型有两种:流式
Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式是一种面向连接的
Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接
的UDP服务应用。
Socket建立
为了建立Socket,程序可以调用Socket函数,该函数返回一个类似于文件描述符的句柄。socket函
数原型为:
int socket(int domain, int type, int protocol);
domain指明所使用的协议族,,表示互联网协议族(TCP/IP协议族);type参数指
定socket的类型:SOCK_STREAM 或SOCK_DGRAM,Socket接口还定义了原始
Socket(SOCK_RAW),允许程序使用低层协议;protocol通常赋值"0"。Socket()调用返回一个整
型socket描述符,你可以在后面的调用使用它。
Socket描述符是一个指向内部数据结构的指针,它指向描述符表入口。调用Socket函数时,socket
执行体将建立一个Socket,实际上"建立一个Socket"意味着为一个Socket数据结构分配存储空
间。Socket执行体为你管理描述符表。
两个网络程序之间的一个网络连接包括五种信息:通信协议、本地协议地址、本地主机端口、远端
主机地址和远端协议端口。Socket数据结构中包含这五种信息。
Socket配置
通过socket调用返回一个socket描述符后,在使用socket进行网络传输以前,必须配置该socket。
面向连接的socket客户端通过调用Connect函数在socket数据结构中保存本地和远端信息。无连接
socket的客户端和服务端以及面向连接socket的服务端通过调用bind函数来配置本地信息。
Bind函数将socket与本机上的一个端口相关联,随后你就可以在该端口监听服务请求。Bind函数原
型为:
int bind(int sockfd, struct sockaddr *my_addr, int addrlen);
1
Sockfd是调用socket函数返回的socket描述符,my_addr是一个指向包含有本机IP地址及