网络编程
文章平均质量分 78
时间走廊
这个作者很懒,什么都没留下…
展开
-
socketserve模块
服务端: #!/usr/bin/env python from socket import * import subprocess import json import struct import socketserver ip_port = ('127.0.0.1',8080) buffer_size = 1024 filename = 'malin' class Myserver(sock...原创 2018-12-12 22:26:21 · 191 阅读 · 0 评论 -
TCP/IP协议族
根据作用范围分类: 广域网WAN 局域网LAN 城域网MAN 根据使用者分类: 公用网 专用网 计算机网络的性能指标 速率:即数据率或比特率,是网络中最重要的一个性能指标,单位是b/s,或kb/s,Mb/s,Gb/s等 带宽:本来是指信号具有的频带宽度,单位是赫(千赫/兆赫/等),现在是数字信道所能传送的’最高数据率’的同义语. 吞吐量:表示在单位时间内通过的某个网络(或信道/接口)的数据量.吞吐...原创 2018-12-10 13:53:44 · 162 阅读 · 0 评论 -
socket套接字原理
我们知道进程通信的方法有管道、命名管道、信号、消息队列、共享内存、信号量,这些方法都要求通信的两个进程位于同一个主机。但是如果通信双方不在同一个主机又该如何进行通信呢?在计算机网络中我们就学过了tcp/ip协议族,其实使用tcp/ip协议族就能达到我们想要的效果,如下图: 当然,这样做固然是可以的,但是,当我们使用不同的协议进行通信时就得使用不同的接口,还得处理不同协议的各种细节,这就增加了开发...原创 2018-12-10 15:02:24 · 559 阅读 · 0 评论 -
套接字的应用
基于UDP实现ntp时间服务器: 服务端 from socket import * import time ip_port = ('127.0.0.2',8080) buffer_size = 1204 udp_server = socket(AF_INET,SOCK_DGRAM) udp_server.bind(ip_port) while True: data, addr = ud...原创 2018-12-11 17:31:07 · 153 阅读 · 0 评论 -
粘包
粘包就是recv(buffer_size)时每次只收取1024字节,如果信息过大,就会积累到下次收取产生粘包 只有基于TCP的套接字有粘包现象 基于UDP的套接字没有粘包现象 所谓粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据造成的. TCP(传输控制协议),是可靠传输 是面向连接的,面向流的,提供高可靠性服务.收发段都要有一对一承兑的socket,因此,发送端为了...原创 2018-12-11 23:52:23 · 1446 阅读 · 0 评论