質問: read(0, buf, 1); write(sockfd, buf, buf_len); } } ```
回答: MinGWについてはあまり詳しくないので受け売りになりますが、MinGWはUNIXライクだけどCygwinなどと違ってソケット通信を行うには`Winsock`を使用する必要があるようです。 Linux/UNIX向けに書かれたソースコードをMinGW環境で利用するには、必要に応じてインクルードするヘッダファイルを書き換えなければ動かないみたいです。 MinGWにてSocket通信を行うには > > MinGWはUNIX風味のシェル環境になりますが、WindowsAPIを搭載したWindowsアプリケーションの開発環境となります。 > > そのためなのか、MinGWはWinsockを使用するようになっており、MinGWのincludeフォルダの中に sys/socket.h > > は入っておりません。 > > > Winsockを使うためには、 #include にてインクルードしてあげれば良いのです...が、他にもコンパイル時に ws2_32.lib > > もリンカに設定してあげないといけません。 設定するにはコンパイル時に下記のようなコマンドを入力します。 > > > > ``` > gcc -lwsock32 main.c -lws2_32 > > ``` > > その他の参考情報: Sockets in MinGW - Stack Overflow Where does one get the “sys/socket.h” header/source file? - Stack Overflow