闲着没事在家学GO,为了更好掌握GO,决定写一些小程序来帮助掌握。
项目地址:
这次的程序主要是通过GO自带的TCP接口实现传输,为了更好地掌握一些技巧,在传输的时候增加了CRC校验字节(有些花里胡巧了)。
一次最多传输65个字节,最后一个是校验字节,计算出 CRC32 后按照每 8 位进行累加。接收方在校验失败后会发送错误信息,这时传输会终止。
文件分为三部分
- 网络功能文件,负责发送、接收并校验数据
- 工具文件,读取、写入文件
- 逻辑文件
使用时,会先获取本机所具有的有效 IP,接收方先输入 accept 进入接收模式,发送方输入 send 然后选择文件,再输入对方 IP 进行传输
在两部电脑上同时工作的话这个功能会非常有用,尤其是添加到右键菜单后。
其实这个可以用C#做一个界面,不过懒得弄了
(2月4日更新)
重构代码,并添加终端彩色效果,添加批处理命令添加右键菜单
其中用到了 github.com/faith/color 的库