1.osi七层模型

通信流程

socket(抽象层):

结合上图来看,socket在哪一层呢,我们继续看下图

socket在内的五层通讯流程:

2.TCP/UDP的区别:

TCP是以数据流的形式传输,UDP打包成数据包传输(传输速度快容易丢包,用作视频通话等)

3.paython中TCP/UDP协议下的socket对比:

代码(UDP):

-------------------------------------------------------------------------------

服务器端:

import socket

udp_server = socket.socket(type=socket.SOCK_DGRAM) #datagram

ip_port = ('127.0.0.1',8002)
udp_server.bind(ip_port)

from_client_msg,client_addr = udp_server.recvfrom(1024)

udp_server.sendto(b'gunduzi',client_addr)

print(from_client_msg,client_addr)

客户端

import socket
udp_client = socket.socket(type=socket.SOCK_DGRAM)
ip_port = ('127.0.0.1',8002)
udp_client.sendto(b'hello',ip_port)

from_server_msg,server_addr = udp_client.recvfrom(1024)
print(from_server_msg,server_addr)

----------------------------------------------------------------------------------------------

多人通话服务器端

import socket

udp_server = socket.socket(type=socket.SOCK_DGRAM) #datagram

ip_port = ('127.0.0.1',8002)

udp_server.bind(ip_port)

while 1:

from_client_msg, client_addr = udp_server.recvfrom(1024)

print(from_client_msg.decode('utf-8'), client_addr)

to_client_msg = input('服务端说:')
udp_server.sendto(to_client_msg.encode('utf-8'), client_addr)

udp_server.close()

多人通话客户端

import socket
udp_client = socket.socket(type=socket.SOCK_DGRAM)
ip_port = ('127.0.0.1',8002)

while 1:
to_server_msg = input('客户端说')
udp_client.sendto(to_server_msg.encode('utf-8'), ip_port)

from_server_msg, server_addr = udp_client.recvfrom(1024)
print(from_server_msg.decode('utf-8'), server_addr)

udp_client.close()

------------------------------------------------------------------------------------

day 27 网络通信协议 tup udp 下的socket的更多相关文章

  1. 27 网络通信协议 tcp udp subprocess

    1.模块subprocess import subprocess cmd_str = input('请输入指令>>>') sub_obj = subprocess.Popen( cm ...

  2. 网络通信协议tcp,udp区别

    1 网络通信协议 Tcp udp的区别 重点(*****) Tcp三次握手四次挥手(******) udp客户端多人聊天 import socket udp_client = socket.socke ...

  3. Python 网络通信协议 tcp udp区别

    网络通信的整个流程 在这一节就给大家讲解,有些同学对网络是既熟悉又陌生,熟悉是因为我们都知道,我们安装一个路由器,拉一个网线,或者用无限路由器,连上网线或者连上wifi就能够上网购物.看片片.吃鸡了, ...

  4. Java网络通信协议、UDP、TCP类加载整理

    网络通信协议 网络通信协议 网络通信协议有很多种,目前应用最广泛的是TCP/IP协议(Transmission Control Protocal/Internet Protoal传输控制协议/英特网互 ...

  5. Day28--Python--网络通信协议 tcp与udp下的socket

    昨日内容回顾: 1. CS架构 服务端客户端架构 软件CS架构: 京东,淘宝,QQ,微信,暴风影音,快播 硬件CS架构: 打印机 服务端: 提供服务的 客户端: 享受服务的 BS架构: 浏览器和服务端 ...

  6. day27 网络通信协议 tcp/udp区别

    今日主要内容: 一.网络通信协议 二.tcp udp协议下的socket 一.网络通信协议 1.1互联网的本质就是一系列的网络协议 本机IP地址('127.0.0.1',xxxx) 互联网连接的电脑互 ...

  7. 第二十七天- 网络通信协议 TCP UDP 缓冲区

    1.网络通信协议 osi七层模型:按照分工不同把互联网协议从逻辑上划分了层级 socket层 2.理解socket: Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计 ...

  8. Java第三阶段学习(八:网络通信协议、UDP与TCP协议)

    一.网络通信协议 1.概念: 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传 ...

  9. java基础(31):网络通信协议、UDP、TCP

    1. 网络通信协议 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样.在计算机网络中,这些连接和通 ...

随机推荐

  1. 在MATLAB中安装MinGW-w64 C/C++ 编译器的方法

    reference:http://blog.sina.com.cn/s/blog_167bbdec10102x113.html 在MATLAB中编译C/C++ 文件时出现以下情况: 说明缺少MinGW ...

  2. String转换成Boolean类型

    Boolean.valueOf()方法: public static Boolean valueOf(String s) { return toBoolean(s) ? TRUE : FALSE; } ...

  3. POJ - 2635 E - The Embarrassed Cryptographer

    The young and very promising cryptographer Odd Even has implemented the security module of a large s ...

  4. synchronized(六)

    package com.bjsxt.base.sync006;/** * 锁对象的改变问题 * @author alienware * */public class ChangeLock { priv ...

  5. Linux:配置samba服务

    配置samba服务  一.简略教程 1.挂载系统 mount /dev/cdrom /mnt/cdrom2.创建用户:useradd linlin3.创建用户密码:passwd linlin4.在用户 ...

  6. HslCommunication组件库使用说明

    一个由个人开发的组件库,携带了一些众多的功能,包含了数据网络通信,文件上传下载,日志组件,PLC访问类,还有一些其他的基础类库. nuget地址:https://www.nuget.org/packa ...

  7. SQL注入之Sqli-labs系列第二十六关(过滤空格、注释符、逻辑运算符注入)和第二十六A

    开始挑战第二十六关(Trick with comments and space) 0x1看看源代码 (1)过滤了#  or and  /**/  /  \ ,通过判断也过滤了空格 (2)这样一来只能看 ...

  8. 安装 aconda 后Linux的终端界面前部出现(base)字样

    aconda 是做什么用的这里就不说了,一般玩Python的都知道这东西,最早接触这东西是因为它把NVIDIA中cuda计算和Python互连的一个库拿下了,是买下来了还是专业,还是唯一合作的也就记不 ...

  9. SLES12SP2使用总结

    1. 设置hostname hostnamectl set-hostname   hostname***

  10. HDU 1425 sort C语言实现快速排序

    AC代码:sort Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...