美文网首页
基于TEC传输层的编程模型

基于TEC传输层的编程模型

作者: 灞桥杨柳 | 来源:发表于2017-08-20 03:25 被阅读0次

基于TEC传输层的编程模型

服务器端编程模型

  1. 创建一个用于网络通讯的设备 通讯端点 socket(2)
  2. 将这个通讯端点和本机的ip地址、端口号绑定 bind(2)
  3. 在这个通讯端点上监听客户端连接的到来,放入缓冲区队列 listen(2)
  4. 从缓冲区队列中取出一个客户端连接,返回连接描述符 accept(2)
  5. 使用连接描述符和客户端通讯 read(2) write(2)
  6. 关闭连接描述符,终止和客户端的通讯 close(2)

客户端编程模型

  1. 创建一个用于网络通讯的设备(通讯端点) socket(2)
  2. 使用这个端点连接到服务器(IP地址和端口号) connet(2)
  3. 向服务器发送消息
  4. 等待服务器端的响应消息
  5. 处理服务器的响应消息
  6. 关闭设备,结束本次通讯。
#include <sys/types.h>
#include <sys/socket.h>
int socket(int domain, int type, int protocol);
int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
int listen(int sockfd, int backlog);
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

#include <unistd.h>
ssize_t write(int fd, const void *buf, size_t count);
ssize_t read(int fd, void *buf, size_t count);
int close(int fd);

地址家族的通用结构

struct sockaddr{
  sa_family_t sa_family;
  char        sa_data[14];
};

ipv4的具体地址

man in.h
#include <netinet/in.h>
in_port_t    uint16_t
in_addr_t    uint32_t
sa_family_t  <sys/socket.h>

struct in_addr{
  in_addr_t  s_addr;
};
struct sockaddr_in{
  sa_family_t     sin_family;   //AF_INET.
  in_port_t       sin_port;     //Port number.
  struct in_addr  sin_addr;     //IP address.
};

本机字节序和网络字节序的转换

#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong);
uint16_t htons(uint16_t hostshort);
uint32_t ntohl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);

相关文章

  • 基于TEC传输层的编程模型

    基于TEC传输层的编程模型 服务器端编程模型 创建一个用于网络通讯的设备 通讯端点 socket(2) 将这个通讯...

  • 2020-02-13

    TCP 是传输层协议,对应 OSI 网络模型的第四层传输层,特点如下:1、TCP 协议是基于链接的,也就是传输数据...

  • 系统与网络编程-(网络编程初讲)

    系统与网络编程 OSI模型 应用层,表示层,会话层,传输层,网络层,数据链路层,物理层 socket 在网络编程中...

  • TCP为什么建连需要三次握手,而断连需要四次挥手?

    一、详解TCP概念及特点 概念:TCP是传输层协议,对应OSI网络模型的第四层:传输层 特点:1、基于链接(点对点...

  • 前端基础整理 | 计算机网络基础

    1、TCP协议 简介 TCP(传输控制协议)位于TCP/IP五层模型的传输层,它是面向连接的、可靠的、基于字节流的...

  • Socket编程(1)-网络程序设计接口

    1 网络程序设计接口 针对网络边缘上的主机进行应用编程,以五层模型为对象进行讨论。五层模型分为应用层、传输层、网络...

  • Python-Net编程

    网络编程 网络: 网络协议: 一套规则 网络模型:七层模型-七层-理论物理层数据链路层网络层传输层会话层表示层应用...

  • 6 Java网络编程

    Java 网络编程 OSI 7层模型 物理层、数据链路层、网路层、传输层、会话层、表示层、应用层 Tcp/IP协议...

  • 网络编程

    构建TCP服务 tcp全名传输控制协议,在osi模型中属于传输层协议。许多应用层协议基于TCP构建,典型的是HTT...

  • TCP/IP, UDP, HTTP, WebSocket, RP

    1.概述 七层模型五层模型四层模型应用层表示层应用层应用层会话层传输层传输层传输层网络层网络层网络层数据链路层数据...

网友评论

      本文标题:基于TEC传输层的编程模型

      本文链接:https://www.haomeiwen.com/subject/rowxdxtx.html