随笔分类 -  网络编程基础

摘要:一、paramiko模块 Python的paramiko模块基于SSH用于连接远程服务器并执行相关的操作。 1.1 在windows上安装paramiko模块 测试环境: win10 , python3.5 并且已安装 pip 在命令窗口,切换到 python 安装目录中的 Scripts 执行: 阅读全文
posted @ 2017-11-07 20:14 Bigberg 阅读(604) 评论(0) 推荐(0) 编辑
摘要:一、简介 SocketServer简化了网络服务器的编写。在进行socket创建时,使用SocketServer会大大减少创建的步骤,并且SocketServer使用了select它有5个类:BaseServer,TCPServer,UDPServer,UnixStreamServer,UnixDa 阅读全文
posted @ 2017-10-31 21:02 Bigberg 阅读(5817) 评论(0) 推荐(0) 编辑
摘要:一、文件传送步骤 我们要利用socket来实现下载一个文件,该如何操作呢? 服务端: 客户端: 发送命令 接收文件大小 返回确认 获取文件名 对比文件大小 写入文件 二、功能实现(ftp下载功能) 服务端: # -*- coding: UTF-8 -*- import os import socke 阅读全文
posted @ 2017-10-29 15:38 Bigberg 阅读(2219) 评论(0) 推荐(0) 编辑
摘要:参考博客:http://www.cnblogs.com/kex1n/p/6502002.html 一、粘包现象 在上一篇的socket传输大数据文章中,我们可以顺利的接发数据,似乎做的不错,可以接收了。但是其实还隐藏着一个问题,请看下面的情况: 我们看到出错的位置,具体分析一下是什么情况 这个功能在 阅读全文
posted @ 2017-10-29 12:04 Bigberg 阅读(1076) 评论(0) 推荐(0) 编辑
摘要:一、简单ssh功能 1.1 实现功能 在前面的一篇博客中,我们已经实现了一个简单的类似Linux服务器ssh功能的小程序,可以输入系统命令来返回命令运行结果,今天我们也以此开始,看看socket如何来接受大量数据。 服务端: # -*- coding: UTF-8 -*- import os imp 阅读全文
posted @ 2017-10-28 18:26 Bigberg 阅读(13285) 评论(0) 推荐(1) 编辑
摘要:一、简介 在开发一个程序时候,与其让它运行时崩溃,不如在它出现错误条件时就崩溃(返回错误AssertionError)。这时候断言assert 就显得非常有用。 它的等价语句为: 二、使用时机 那么我们什么时候应该使用断言呢?如果没有特别的目的,断言应该用于如下情况: 防御性编程 运行时对程序逻辑的 阅读全文
posted @ 2017-10-28 15:27 Bigberg 阅读(923) 评论(0) 推荐(0) 编辑
摘要:一、前言 上一篇中我们已经知道了客户端通过socket来连接服务端,进行了一次数据传输,那如何实现客户端多次发生数据?而服务端接受多个客户端呢? 二、发送中文信息 在python3中,socket只能发送bytes类型的数据,bytes类型只能表示0-225的ASCII码的值,并不能表示中文,所以当 阅读全文
posted @ 2017-10-21 16:36 Bigberg 阅读(3526) 评论(0) 推荐(1) 编辑
摘要:一、Socket一些概念 sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0) 1.1 参数1:Socket Families(地址簇) / 协议类型 socket.AF_INET IPv4(默认) socket.AF_INET6 IPv6 阅读全文
posted @ 2017-10-19 08:24 Bigberg 阅读(450) 评论(0) 推荐(0) 编辑
摘要:一、Socket介绍 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 Socket起源 阅读全文
posted @ 2017-10-18 17:43 Bigberg 阅读(327) 评论(0) 推荐(0) 编辑