programing:linux-programing:network-programing:msys2-winsock-network-programing
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| programing:linux-programing:network-programing:msys2-winsock-network-programing [2021/07/15 21:08] – ↷ 移動操作に合わせてリンクを書き換えました。 yoko | programing:linux-programing:network-programing:msys2-winsock-network-programing [2026/07/28 13:16] (現在) – 外部編集 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | 【Windows】msys2ネットワークプログラミング(Winsock) | + | ====== |
| - | ===================================== | + | 「[[programing: |
| - | 「[[programing: | + | |
| - | msys2でのソケットライブラリー | + | ===== msys2でのソケットライブラリー |
| - | -------------------------- | + | |
| [[software/ | [[software/ | ||
| - | そこで、`# | + | そこで、`# |
| - | 尚、winsock2ライブラリーは32bit版だけのようで、msys2のMINGW32環境で32bitアプリとしてコンパイルを行う。Windowsの64bitパソコンでも、32bitアプリの実行は可能。 | + | winsock2ライブラリーは32bit版だけのようで、msys2のMINGW32環境で32bitアプリとしてコンパイルを行う。Windowsの64bitパソコンでも、32bitアプリの実行は可能。 |
| - | TCPソケット通信サンプルプログラム | + | ===== TCPソケット通信サンプルプログラム |
| - | ----------------------------- | + | 以下のサンプルプログラムでは、`WINSOCK_USE` の条件コンパイルで、Linux版と兼用できるソースにしている。 |
| - | 以下の、サンプルプログラムでは、`WINSOCK_USE` の条件コンパイルで、Linux版と兼用できるソースにしている。 | + | |
| 尚、システムコール時のエラー判定やタイムアウト監視など不十分なので、実際に使う場合はエラー処理などもよく吟味して利用する事。 | 尚、システムコール時のエラー判定やタイムアウト監視など不十分なので、実際に使う場合はエラー処理などもよく吟味して利用する事。 | ||
| 行 43: | 行 40: | ||
| main(int argc, char *argv[]) | main(int argc, char *argv[]) | ||
| { | { | ||
| + | int n; | ||
| + | struct sockaddr_in server; | ||
| + | char buf[32]; | ||
| #ifdef WINSOCK_USE | #ifdef WINSOCK_USE | ||
| + | SOCKET sock; | ||
| WSADATA wsaData; | WSADATA wsaData; | ||
| - | SOCKET sock; | ||
| - | #else | ||
| - | int sock; | ||
| - | #endif | ||
| - | struct sockaddr_in server; | ||
| - | char buf[32]; | ||
| - | int n; | ||
| - | #ifdef WINSOCK_USE | ||
| // winsock2の初期化 | // winsock2の初期化 | ||
| WSAStartup(MAKEWORD(2, | WSAStartup(MAKEWORD(2, | ||
| + | #else | ||
| + | int sock; | ||
| #endif | #endif | ||
| 行 190: | 行 185: | ||
| - | 補足 | + | ===== 補足 |
| - | ---- | + | |
| * コンパイル時に、winsock2のライブラリー(`libws2_32.lib`)を明示的に`-lws2_32`指定しなくてもコンパイルエラーなく実行ファイルを生成した。 | * コンパイル時に、winsock2のライブラリー(`libws2_32.lib`)を明示的に`-lws2_32`指定しなくてもコンパイルエラーなく実行ファイルを生成した。 | ||
| - | * MINGW64シェルの64bitコンパイル環境でも、`-lws2_32`を指定すればコンパイルはできたが、実行時の挙動がどうも怪しかった。 | + | * MINGW64シェルの64bitコンパイル環境でも、`-lws2_32`を指定すればコンパイルは通ったが、実行時の挙動がどうも怪しかった。 |
| - | 関連記事 | + | ===== 関連記事 |
| - | ------- | + | |
| * [[programing: | * [[programing: | ||
| 行 203: | 行 196: | ||
| - | 参考 | + | ===== 参考 |
| - | ---- | + | |
| + | | ||
| + | | ||
| + | | ||
| - | 1. [[https:// | ||
| - | 2. [[https:// | ||
| - | 3. [[https:// | ||
programing/linux-programing/network-programing/msys2-winsock-network-programing.1626350910.txt.gz · 最終更新: by yoko
