golang实现局域网内文件传输(附带添加右键菜单)

时间:2024-04-08 10:10:23
闲着没事在家学GO,为了更好掌握GO,决定写一些小程序来帮助掌握。
项目地址:

https://github.com/belowthetree/HaveFunInLAN​github.com

 

这次的程序主要是通过GO自带的TCP接口实现传输,为了更好地掌握一些技巧,在传输的时候增加了CRC校验字节(有些花里胡巧了)。

一次最多传输65个字节,最后一个是校验字节,计算出 CRC32 后按照每 8 位进行累加。接收方在校验失败后会发送错误信息,这时传输会终止。

文件分为三部分

  1. 网络功能文件,负责发送、接收并校验数据
  2. 工具文件,读取、写入文件
  3. 逻辑文件

使用时,会先获取本机所具有的有效 IP,接收方先输入 accept 进入接收模式,发送方输入 send 然后选择文件,再输入对方 IP 进行传输

golang实现局域网内文件传输(附带添加右键菜单)

在两部电脑上同时工作的话这个功能会非常有用,尤其是添加到右键菜单后。

其实这个可以用C#做一个界面,不过懒得弄了

(2月4日更新)

重构代码,并添加终端彩色效果,添加批处理命令添加右键菜单

其中用到了 github.com/faith/color 的库