1 / 15
文档名称:

socket编程.Linux网络编程.doc

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

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

分享

预览

socket编程.Linux网络编程.doc

上传人:1006108867 2013/11/30 文件大小:0 KB

下载得到文件列表

socket编程.Linux网络编程.doc

文档介绍

文档介绍:Linux网络编程-socket编程
【ITjob课程资料】
SOCKET编程
下面我们来编写基于SOCKET的程序。
SOKET的概念
计算机通讯当然是通过硬件(网卡)来进行通讯的,但是都是通过系统软件(OS)来实现的。所以我们要了解的是关于OS操纵网卡进行通讯的原理。
计算机中每个机器不仅仅有IP地址,还有很多端口,分别负责不同的任务,比如:80端口就是负责IIS默认的HTTP服务的,而21端口则是负责FTP通讯,注意上面我们涉及到三个概念:IP地址,端口和协议。
网卡接收到信息之后,形成一个文件(在LINUX中所有的都是文件),当然一个文件描述符来进行指向。本质上来说,SOCKET就是一个文件描述符。
比如:ept函数和recv,都是阻塞函数。pet函数的时候需要通过一个SOCKET来监听那个机器的信息(比如:IP地址),而需要用另外一个SOCKET来获得具体的信息。
首先通过SOCKET函数生成一个类似文件的唯一描述符,然后这个描述符对于内核的文件表,这个文件表存放在内存中(内核缓冲),OS通过扫描这个文件表确定通讯的呼叫方和接收方,指挥网卡发送和接收信息。 这就是我们说的基于SOCKET的编程方式。
SOCKET通常也称作“套接字”,用于描述IP地址和端口,SOCKET是一种特殊的I/O接口,它也是一种文件描述符。
它是一种常用的进程之间通信机制,通过它不仅能实现本地机器上的进程之间的通信,而且通过网络能够在不同机器上的进程之间进行通信。
SOCKET也有一个类似于打开文件的函数调用,该函数返回一个整型的SOCKET描述符,随后的连接建立、数据传输等操作都是通过SOCKET来实现的;
用SOCKET函数可以获得本机的SOCKET描述符,如:
#include <sys/>
#include <sys/>
int i=socket(, SOCK_STREAM,0);
常用的socket传输类型
1、流式socket(SOCK_STREAM)
流式套接字提供可靠的、面向连接的通信流;它使用TCP协议,从而保证了数据传输的正确性和顺序性。
2、数据报socket(SOCK_DGRAM)
数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证是可靠、无差错的。它使用数据报协议UDP。

用connect连接对方机器
函数原型如下:
int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen);
参数:
sockfd:socket描述符
serv_addr:是一个结构体指针,其结构体的说明如下:
struct sockaddr
{
unsigned short sa_family; /*地址族*/
char sa_data[14]; /*14字节的协议地址,包含该socket的IP地址和端口号。*/
};
struct sockaddr_in //socketaddr的详细信息,注意,
{
short int sin_family; /*地址族*/
unsigned short sin_port; /*端口号*/
struct in_addr sin_addr; /*IP地址*/
unsigned char sin_zero[8]; /*填充0 以保持与struct sockaddr同样大小*/
};
struct in_addr{unsigned int s_addr;};
addrlen:地址结构体的大小。
下面我们可以写一段程序了,如下:
#include <sys/>
#include <sys/>
#include </>
#include <arpa/>
#include <>
 
int main()
{
int socket_local,iConnect;
struct sockaddr_in dest_sock={0};
socket_local=socket(,SOCK_STREAM,0);
=;
=htons(60000);
//=inet_addr("");
//inet_aton("",&

最近更新

《组合数学》姜建国著(第二版)-课后习题答案完.. 95页

创业管理期末考试复习题及答案 27页

医疗质量安全管理与持续改进实施方案 41页

《药物化学》习题总答案 37页

唐山市人民政府关于印发《中国(唐山)跨境电.. 11页

国家自然科学基金委员会、财政部关于进一步完.. 4页

2024年科技馆作文3篇(集合) 5页

宝鸡市人民政府办公室印发关于进一步深化工程.. 7页

小学语文四年级上册第11课《蟋蟀的住宅》知识.. 8页

张掖市人民政府办公室关于印发张掖市2021年创.. 33页

2024年种萝卜中班教案 34页

校园数字化网络建设清单模板 28页

水泥减速带施工方案 4页

2024年秋季开学典礼学生代表讲话稿8篇 14页

湖南省雨花区2022-2023学年下学期多校期末联合.. 7页

电工技师模拟考试题(附答案) 18页

2024年私车租赁合同 17页

管理运筹学第五版系统答案 9页

考点 生物的遗传和变异-备战中考生物考点专题.. 21页

诊断学考试试题含参考答案 25页

2024年离职申请范文(通用18篇) 21页

钢板组合梁计算书 48页

零食项目预算分析 37页

高级英语复习 33页

缓刑矫正人员思想汇报100篇 2页

道路与桥梁工程专业技术专业人才需求调研报告.. 6页

民房建筑施工合同范本 6页

初一议论文-朋友之间的距离 3页

集中整治形式主义官僚主义研讨会发言材料 3页

作风问题大整治查摆对照16种反面“画像”党员.. 18页