您的位置:首页 > 理论基础 > 计算机网络

构建TCP套接字(socket)的概念及具体步骤

2018-03-06 08:58 197 查看
首先要说一下socket套接字的基本定义以及概念,这里先列举微软计算机词典对于套接字的描述Socket is an identifier for a particular service on a particular node on a network. The socket consists of a node address and a port number, which identifies the service.
套接字是一个位于网络中特定节点的服务所具有的标识符。套接字包含一个节点地址和一个端口号,用来标识这一服务。其实简单点说:套接字就是一个计算机IP地址与计算机端口号的组合,其中IP地址用于区分主机(每一个计算机都有一个独立的IP地址),而端口号主要用来区分是什么程序调用(每个程序在进行通信时都需要占用一个或者多个不冲突的端口)
而TCP套接字可以形象的比喻为电话机,这里以接电话为例子讲解套接字的创建过程(打电话的过程与接电话的过程有着差异)
第一步是调用socket函数(安装电话机)|(要想打电话首先要进行电话机的安装)
#include <sys/socket.h>
int socket(int domain,int type,int protocol)
->成功时返回文件描述,失败时返回-1第二步是调用Bind函数进行标志的分配(在打电话时我们需要知道电话号码)#include <sys/socket.h>
int bind(int sockfd,struct sockaddr *myaddr,socklen_t addrlen)
->成功时返回0,失败时返回-1第三步是调用listen函数进行电话线的连接(打电话是我们的电话之间是通过电话线进行连接的)#include <sys/socket>
int listen(int sockfd,int backlog);
->成功时返回0,失败时返回-1其中如果是请求连接端(打电话)时,我们采用的是connect函数:#include <sys/soocket.h>
int connect(int sockfd,struct sockad
4000
dr *serv_addr,socklen_t addrlen)最后一步就是调用accept函数进行接收(拿起电话接听)#include <sys/socket>
int accept(int sockfd,struct sockaddr *addr,socklen_t *addrlen)
->成功时返回文件描述符,失败时返回-1网络编程中接收连接请求的套接字创建(接电话)可以概括为如下四步:
Step1:调用socket函数创建套接字
Step2:调用bind函数分配IP地址和端口号

Step3:调用listen函数转为可以接收请求状态

Step4:调用accept函数受理连接请求
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息