嵌入式每日学习心得 网络通信技术(TCP)
来源:互联网 发布:算法导论第四版pdf 编辑:程序博客网 时间:2024/05/19 17:50
网络通信技术:
计算机网络通信技术
三大网络:
计算机网络(有线网络,WiFi)
电信网络(2G,3G,4G,5G)
有线电视网络
计算机网络:开放与廉价:
IP地址:用来唯一的标识某个网络中的一台设备
端口号(Port):用来唯一的标识同一台设备中的不同进程,就是一个
非负整数(0-65535)
网络通信实现方式:
1.基于TCP协议通信,面向连接,传输可靠,但效率底
2.基于UDP协议通信,无连接,传输效率高,但不保证可靠,尽力传输
基于TCP协议通信的实现,参与通信的两个程序是不对等的,一个是客
户端程序,一个是服务器端程序,即采用C(Client)/S(Server)模式
客户端主动发起通信,服务器端是被动通信
服务器端程序实现过程步骤:
1.创建监听(只能接)套接字
套接字(Socket):即插座,网络接入点,相当于手机
2.绑定地址,给套接字绑定端口号,相当与给手机上号
3.监听,将套接字设置为监听,相当于将手机设置为待机状态
4.接受客户端链接请求,相当于接受来电请求
5.收发数据,相当于相互通话
6.断开链接,相当于结束通话
7.关闭监听套接字,相当于关机或者将手机设为飞行模式
计算机网络通信技术
三大网络:
计算机网络(有线网络,WiFi)
电信网络(2G,3G,4G,5G)
有线电视网络
计算机网络:开放与廉价:
IP地址:用来唯一的标识某个网络中的一台设备
端口号(Port):用来唯一的标识同一台设备中的不同进程,就是一个
非负整数(0-65535)
网络通信实现方式:
1.基于TCP协议通信,面向连接,传输可靠,但效率底
2.基于UDP协议通信,无连接,传输效率高,但不保证可靠,尽力传输
基于TCP协议通信的实现,参与通信的两个程序是不对等的,一个是客
户端程序,一个是服务器端程序,即采用C(Client)/S(Server)模式
客户端主动发起通信,服务器端是被动通信
服务器端程序实现过程步骤:
1.创建监听(只能接)套接字
套接字(Socket):即插座,网络接入点,相当于手机
2.绑定地址,给套接字绑定端口号,相当与给手机上号
3.监听,将套接字设置为监听,相当于将手机设置为待机状态
4.接受客户端链接请求,相当于接受来电请求
5.收发数据,相当于相互通话
6.断开链接,相当于结束通话
7.关闭监听套接字,相当于关机或者将手机设为飞行模式
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/socket.h>#include <arpa/inet.h>int main(){ int listen_socket =socket(AF_INET, SOCK_STREAM, 0); if(-1 == listen_socket) { perror("socket"); exit(-1); } struct sockaddr_in my_addr; my_addr.sin_family=AF_INET; my_addr.sin_addr.s_addr=INADDR_ANY; my_addr.sin_port=htons(4321); if(-1 == bind(listen_socket, (struct sockaddr*)&my_addr,sizeof(my_addr))) { perror("bind"); exit(-1); } if(-1 == listen(listen_socket,5)) { perror("listen"); exit(-1); } socklen_t len = sizeof(my_addr); int conn_socket =accept(listen_socket, (struct sockaddr*)&my_addr,&len); if(-1 == conn_socket) { perror("accept"); exit(-1); } char buf[]="hello world!"; char msg[100]; int num; if(send(conn_socket,buf,strlen(buf),0) == -1) { perror("send"); exit(-1); } if(num=recv(conn_socket,msg,sizeof(msg)-1,0) <= 0) { perror("recv"); exit(-1); } msg[num-1]='\0'; printf("客户端说:%s\n",msg); close(conn_socket); close(listen_socket); return 0;}
阅读全文
0 0
- 嵌入式每日学习心得 网络通信技术(TCP)
- 嵌入式每日学习心得 管道通信/IPC
- 嵌入式每日学习心得 基于TCP/IP的聊天室程序
- 嵌入式每日学习心得 线程
- TCP/IP网络通信技术
- 嵌入式 TCP/IP 协议单片机技术在网络通信中的应用
- 嵌入式TCP/IP协议单片机在网络通信中的数据传输技术
- 嵌入式每日学习心得2017.07.07
- 嵌入式每日学习心得2017.07.08
- 嵌入式每日学习心得2017.07.10
- 嵌入式每日学习心得2017.07.11
- 嵌入式每日学习心得2017.07.12
- 嵌入式每日学习心得2017.07.13
- 嵌入式每日学习心得2017.07.14
- 嵌入式每日学习心得2017.07.17
- 嵌入式每日学习心得2017.07.18
- 嵌入式每日学习心得2017.07.19
- 嵌入式每日学习心得2017.07.20
- Spring Mvc 防御CSRF攻击
- 数据结构
- Codeforces Round #433 D. Jury Meeting
- office 2010配置进度框
- wamp本地访问速度特别慢
- 嵌入式每日学习心得 网络通信技术(TCP)
- Python 操作csv 代码示例
- 解决源码编译 ZeroC Ice 缺失 mcpp、bzip2、expat 库的问题
- LVDS原理与应用简介
- 排序-4-快速
- react-native-tab-navigator简单使用
- 1-6、matlab常用封装函数与快捷键
- csv.writerow寫入多出空白一行問題解決
- 求最大公约数(辗转相除法)