Go言語でファイル送信用cuiツールを作ったよ

ファイルをやりとりする場合に、一旦共有サーバーにあげてとかメールに添付したりとかめんどくさくて作りました。
Golangで作ったので異なるOSでも動きます(WinとMacで確認済み)

受信する側は引数なしで起動すると受信モードで待機します。

1
./file_exchange

もしくは winの場合はfile_exchange.exeをダブルクリックでもいけます

送信先の一覧は送信側で以下のコマンドをうつと受信待機中のipが取れるのでこれで取得しましょう

1
./file_exchange list

実行結果はこんな感じ。

リスト取得

udpでブロードキャストしているのですが、全部からリクエストもらってから終了のやり方がわからず
とりあえずタイムアウト3秒の間にレスポンスが返ってきたものが表示されます。
タイムアウトで処理を終了しているので例外で終わります。
どなたかうまいやり方知っている人がいれば教えて下さい。

ipを取得したら送信します。

1
./file_exchange ipアドレス ファイルパス`

で送信できます。
こんな感じです。

1
./file_exchange 192.168.134.34 avator.png

上書きが怖かったので同名のファイルがある場合はファイル名に_Nをつけて保存するようにしています。

今回winでも試してみましたが、winでも動いて感動しました 。

コードはこちらを参照してください。buidも各自でお願いします
YoshitsuguFujii/file_exchange

Comments