点点网站开发技术分享

记录个人日常开发笔记与技巧

之前用单用户ftp上传,服务器同时只能处理一个客户端的连接,要做到多客户端连接可以直接使用python帮我们封装好的socketserver模块。以下代码为多用户ftp上传示例,里面用到md5文件一致性校验,在一个win机器上同时扮演客户端和服务器没问题,但是当有一方使用了linux就出现问题了。运行代码测试发现;同样的文件内容,在winlinux是进行md5加密内容发现执行的结果不一样。没测试在两台win上是否一样,有其他人看到可以自己测试下。

阅读全文 »

我们知道上传一个文件的流程原理即将一个文件内容读取出来,在目标位置新建这个文件,再把内容写入进去。想想跟上篇文章 python 网络编程socket示例(远程ssh)类似,所不同的只是多了一个文件操作句柄,同样的也会出现黏包,使用stuct来解决黏包问题。因为代码中都写有注释,这里就不详细赘述了。

阅读全文 »

模拟ssh需要返回ssh命令执行的结果,我们用【客户端连接.recv(字节长度)】来接收服务器传回的命令执行结果,但是这个字节长度我们无从得知,定义的如果太小则结果接收不完全,定义的太大,大的上限无法衡量不说还会浪费资源,这时候我们是否会考虑先把执行结果的长度传回给客户端,再把执行结果传回,这样就能很好的解决这个问题,但是我们要怎么操作呢?

阅读全文 »

套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。

阅读全文 »

首先,程序必须要启动,其次,必须有这台机器的地址,我们都知道我们人的地址大概就是国家\省\市\区\街道\楼\门牌号这样字。那么每一台联网的机器在网络上也有自己的地址,它的地址是怎么表示的呢?

就是使用一串数字来表示的,例如:100.4.5.6

阅读全文 »
0%