OSI七层模型与TCP/UDP初识(代码待补充,7.31补充)

Posted shachengcc1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OSI七层模型与TCP/UDP初识(代码待补充,7.31补充)相关的知识,希望对你有一定的参考价值。

OSI七层模型包括:其作用在于不断地给传输的内容加东西
应用层
表示层
会话层
传输层 UDP/TCP    +端口
网络层 ip协议,      +ip地址
数据链路层 以太网协议 +mac
物理层 电信号

传输层涉及到的:tcp协议:面向链接(打电话),不丢。建立了一个全双工的通道;传输是面向字节流的
                              udp协议:面向无连接(写信),可能会丢。传输是面向报文、数据包的

重点:tcp协议的三次握手,四次挥手
挥手
1客户端先发,申请建立链接
2服务端收到后回馈,发送确认信息
3客户端收到后表示收到
握手
1客户端请求
2服务端说我收到,请稍等
3服务端处理数据,全部结束后,发我已结束,不会丢失
4客户端说,好,那咱断开

tcp与udp下的socket 差一个监听与确认链接的过程

TCP的多人聊天在listen后面在参数表示最大的等待数量,必须一客户端的链接断开了后面的才能进行
UDP的多人聊天如果同时发,服务端回复第一个才会收到第二个人发来的消息

服务端

import socket
#导入socket模块

server = socket.socket()      #创建socket对象

ip_port = (121.195.167.34,8002)   #设置一个ip地址和端口号

server.bind(ip_port)          #绑定ip和端口号

server.listen(3)               #监听ip和端口号
while 1:
    conn,addr = server.accept()   #等待建立连接,前者为建立的连接通道,后者为客户端地址
    while 1:
        from_client_msg = conn.recv(1024)  #通过recv方法,参数是字节(b),1024即为1kb,指一次性接受的消息大小

        print(from_client_msg.decode(utf-8))
        if from_client_msg.decode(utf-8) == 再见:
            break
        send_client_msg = input(服务端说:)
        #conn.send(b‘replay‘.encode(‘utf-8‘))   #回复消息,通过send方法,参数必须是字节类型
        conn.send(send_client_msg.encode(utf-8))
    conn.close()           #关闭通道,通过close方法

#server.close()         #关闭服务器

客户端

import socket
import time
client = socket.socket()   #创建一个socket对象

server_ip_port = (121.195.167.34,8002)  #找ip和端口号

client.connect(server_ip_port)  #利用ip和端口号连接服务器程序
while 1:
    send_server_msg = input(客户端说:)
    if send_server_msg == 再见:
        client.send(send_server_msg.encode(utf-8))
        break
    client.send(send_server_msg.encode(utf-8))     #发消息,用send方法,字节类型
    #client.send(‘你好‘.encode(‘utf-8‘))     #中文
    # client.send(str(time.time()).encode(‘utf-8‘))

    from_server_msg = client.recv(1024)  #通过recv方法,参数是字节(b),1024即为1kb,指一次性接受的消息大小

    print(from_server_msg.decode(utf-8))

client.close()

 

以上是关于OSI七层模型与TCP/UDP初识(代码待补充,7.31补充)的主要内容,如果未能解决你的问题,请参考以下文章

分层思想(OSI七层模型到TCP/IP五层模型)

OSI七层与tcp/ip四层

OSI七层与tcp/ip四层

OSI七层模型,TCP/IP,静态和rip路由

OSI七层与TCP/IP五层网络架构详解

查漏补缺:OSI七层模型和TCP/IP模型