recvfromは、受信時にクライアント情報も取得できる。
Man page of RECV
3-17 UDPパケットのやりとりを行うサンプルプログラム:Geekなぺーじ
UDPサーバを作ってみる。
recvfrom.cで、
listenはいらなくて、whileループの中で、recvfromして、クライアント情報とメッセージを受信して出力。
で、UDPクライアントには、Netcatを使う。
ncコマンドの使い方 - hana_shin’s diary
ただ、このマシンには、
$ nc -bash: nc: command not found $
ncコマンドが入ってないので、
$ sudo yum install nmap-ncat
入れる。
============================================================================================================================================================ Package Arch Version Repository Size ============================================================================================================================================================ Installing: nmap-ncat x86_64 2:6.40-19.el7 base 206 k Transaction Summary ============================================================================================================================================================ Install 1 Package Total download size: 206 k Installed size: 423 k Is this ok [y/d/N]: y Downloading packages: nmap-ncat-6.40-19.el7.x86_64.rpm | 206 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 2:nmap-ncat-6.40-19.el7.x86_64 1/1 Verifying : 2:nmap-ncat-6.40-19.el7.x86_64 1/1 Installed: nmap-ncat.x86_64 2:6.40-19.el7 Complete! $
入った。
あとは、
サーバ側起動。
クライアント側も接続。
あとはこんな感じでチャット的なやりとりが出来て、"end"を送るとサーバ側が終了する。
Sample/unixsyscall/recvfrom/recvfrom/src/recvfrom at master · bg1bgst333/Sample · GitHub