背景:
最近自己做的一个项目中.需要做一个ftp client.于是找了很多的源代码看了看.没有特别满意的.于是就打算自己动手写一个.
讲述内容
建立一个主线程模式的ftp.对于ftp 协议本身我就不在复述了.这里最主要的是讲述设计的模型.
建立连接的socket类:
首先是需要建立 BaseSocket 抽象类.按照模式设计的原则也该如此.因为 ftp 协议中有命令 socket 连接.一个数据socket连接.需要把两种不同Socket特性抽象出来.
Accept()方法用于主动模式下得到数据链路socket的方法
Bind()方法Socket连接本地节点的方法
Connect()连接服务器的方法
GetStream方法得到网络传输流
SetSocketOption方法设置socket的特性.
在主动模式下需要使用Listen来侦听socket