交换机与路由器的区别 协议编码

1、交换机与路由器的区别 

  交换机的主要功能:是组织局域网,经过交换机内部处理解析信息之后,将信息以点对点、点对多的形式发送给固定端。

  路由器的主要功能:是进行跨网段数据传输,路由选择最佳路径。

  ex:如果你需要将多个电脑连接到一根网线上,用交换机即可。

    如果你只有一个外网IP,但是你有好多台电脑需要上网,用路由器即可。

2、tcp协议及编码

  回环地址:127.0.0.1 只能被本机识别,不会被其它机器识别。

  TCP三次握手:一定是client先发起请求。

    a、客户端发起请求连接服务器的请求。

    b、服务器返回:确认接收到连接请求,并要求连接客户端。

    c、客户端:确认连接请求。

  

  四次挥手:谁先发起断开连接的请求都可以。

    a、客户端:发起断开连接的请求。(如果有数据需要发送,可以接收)

    b、服务器回复:确认收到请求了。

    c、服务器发送:可以断开连接

    d、客户端回复:确认收到信息,断开连接。

  

3、udp协议及编码

  type = SOCK_DGRAM

  udp协议的通信优势:

    允许一个服务器同时和多个客户端通信。

    TCP不行

  

 1 # UDP-client
 2 import socket
 3 sk = socket.socket()
 4 while 1:
 5     msg_s = input(">>>")
 6     sk.sendto(msg_s.encode("utf-8"),("192.168.12.49",8080))
 7     if msg_s.upper() == "Q":
 8          break
9 msg_r,addr = sk.recvfrom(1024) 10 print(msg_r.decode("utf-8")) 11 if msg_r.decode("utf-8") == "Q": 12 break 13 sk.close() 14

 

 1 # UDP-server
 2 import socket
 3 sk = socket.socket(type=socket.SOCK_DGRAM)
 4 sk.bind(("192.168.12.49", 8080))
 5 while 1:
 6     msg_s,addr = sk.recvfrom(1024)
 7     print(msg_s.decode("utf-8"),addr)
 8     if msg_s.decode("utf-8").upper() == "Q":
 9         break
10 
11     msg_r = input(">>>")
12     sk.sendto(msg_r.encode("utf-8"), addr)
13     if msg_r.upper() == "Q":
14         break
15 sk.close()

3、pycharm输出带颜色字体

  \033[字体颜色;背景颜色m  字符串   \033[0m

  \033[32;44m  中国   \033[0m

4、实现一个省去写编码解码的类,这个类继承socket

  

 1 import socket
 2 
 3 class Mysocket(socket.socket):  # 这里实例化的时候不需要传参数
 4     def __init__(self,encoding="utf-8"): # 默认是utf-8
 5         self.encoding = encoding
 6         supper().__init__(type=socket.SOCK_DGRAM)# 默认是UDP模式
 7 
 8     def mysendto(self,msg,addr):
 9         return self.sendto(msg.encode(self.encoding),addr)
10 
11     def myrecvfrom(self,num):
12         msg,addr = self.recvfrom(num)
13         return msg.decode(self.encoding),addr

 

转载于:https://www.cnblogs.com/wjs521/p/9469154.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值