写了个简易版的ftp(服务器和客户端),运行效果如下图: click download下载中的UI: 原理:模仿正规ftp方式,分成2个socket连接:文本命令socket.数据信道socket. 牵涉到的知识点: 线程通过invoke 委托的方式调用主界面的控件 程序结束时的子线程遍历终止 多线程之间的阻塞.同步 socket传输命令的异步方式操作 实现了如下功能: 列举服务器主目录中的所有文件 下载文件到客户端(支持大文件) 实现起来比较容易,代码在这里下载.…
package seday08; import java.io.BufferedWriter;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.Socket;import java.util.Scanner; /** * @author xingsir *简易聊天室客户端 */public class Client { /* * 套接字…
IPv4套接口地址结构 IPv4套接口地址结构通常也称为“网际套接字地址结构”,它以“sockaddr_in”命名,定义在头文件中 LINUX结构下的常用结构,一般创建套接字的时候都要将这个结构里面的值进行初始化 struct sockaddr_in { sa_family_t sin_family; /* address family: AF_INET */ in_port_t sin_port; /* port in network byte order(网络字节序) */ struct i…
FTP上传下载文件(函数简易版) # 服务端 import socket import json import hashlib import struct import os user_dic = { '太上老君': '123456', '元始天尊': '123456', '通天教主': '123456' } server = socket.socket() server.bind(('192.168.13.19', 2021)) server.listen(5) conn, addr = se…
java版ftp简易客户端(可以获取文件的名称及文件大小) package com.ccb.ftp; import java.io.IOException; import java.net.SocketException; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPListParseEngi…
以前都是采用ACE的编写网络应用,最近由于工作需要,需要直接只用socket接口编写CS的代码,重新学习这方面的知识,给出自己所用到的3个简单例子,都是拷贝别人的程序.如果你能完全理解这3个例子,估计socket编程就已经基本入门了. 建议:1) 多多查查所用到的网络接口; 2) 最好有一本书,如UNIX环境高级编程,UNIX网络编程,可查询:3) 可以直接使用书上的例子更好. http://blog.csdn.net/zhenjing/article/details/4770490 TCP C…
一.TCP通信测试: 1)   创建TCP Server: 选中左方的TCP Server, 然后点击”创建”按钮,软件弹出监听端口输入框 输入监听端口后,即创建了一个在指定端口上进行监听的TCP Server Socket.TCP Server Socket创建时,软件会自动启动TCP Server Socket处于监听状态: 创建TCP Client: 选中左方的TCP Client, 然后点击”创建”按钮, 软件弹出输入框: 确认后,软件即创建了一个TCP Client Socket. 创…
什么是RPC框架? RPC就是远程调用过程,实现各个服务间的通信,像调用本地服务一样. RPC有什么优点? - 提高服务的拓展性,解耦.- 开发人员可以针对模块开发,互不影响.- 提升系统的可维护性及高可用等. 基于socket思考: - 怎么建立网络通信? - 服务端怎么暴露服务并处理客户端请求? - 客户端怎么去拿到服务并调用? 基于socket的通信的展示图: 流程 1---->2---->3---->4 上面的图形根据自己的理解画的--有些不足,但理解就行. 创建父工程order…
从某宝上购买了一份<Python神经网络深度学习>课程,按照视频教程,用python语言,写了一个简易的FTP服务端和客户端程序,以前也用C++写过聊天程序,编程思路差不多,但是python编程时更顺畅,代码量更少.没有很高深的理论知识,也不需要扎实的编程基础,知道需要用哪些库就行了. 两种语言对比,初次感受到python语言的易用之处,python的核心是简洁清晰,也是伪代码的最佳实践语言.可以理解为C语言的一些常用功能库的转义,所以普遍认为python语言带来编程便捷的同时,也会带来一部分…
功能: 1.使用SELECT或SELECTORS模块实现并发简单版FTP 2.允许多用户并发上传下载文件环境: python 3.5特性: select 实现并发效果运行: get 文件名 #从服务器下载文件 put 文件名 #向服务器上传文件 helps #帮助信息 其他命令 #变大写返回给客户端主要知识点: os模块的应用 json模块的运用 select模块的运用 socket通信 queue数据交互 粘包原理: 这个程序通过select实现了并发,主要原理为它通过一个select()系统…