programing:linux-programing:network-programing:msys2-winsock-network-programing
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン最新のリビジョン両方とも次のリビジョン | ||
programing:linux-programing:network-programing:msys2-winsock-network-programing [2021/07/15 21:11] – [msys2でのソケットライブラリー] yoko | programing:linux-programing:network-programing:msys2-winsock-network-programing [2021/07/15 22:11] – yoko | ||
---|---|---|---|
行 1: | 行 1: | ||
- | msys2-Windowsネットワークプログラミング(Winsock) | + | msys2-Windowsネットワークプログラミング(winsock) |
===================================== | ===================================== | ||
- | 「[[programing: | + | 「[[programing: |
msys2でのソケットライブラリー | msys2でのソケットライブラリー | ||
行 13: | 行 13: | ||
TCPソケット通信サンプルプログラム | TCPソケット通信サンプルプログラム | ||
----------------------------- | ----------------------------- | ||
- | 以下の、サンプルプログラムでは、`WINSOCK_USE` の条件コンパイルで、Linux版と兼用できるソースにしている。 | + | 以下のサンプルプログラムでは、`WINSOCK_USE` の条件コンパイルで、Linux版と兼用できるソースにしている。 |
尚、システムコール時のエラー判定やタイムアウト監視など不十分なので、実際に使う場合はエラー処理などもよく吟味して利用する事。 | 尚、システムコール時のエラー判定やタイムアウト監視など不十分なので、実際に使う場合はエラー処理などもよく吟味して利用する事。 | ||
行 43: | 行 43: | ||
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 | ||
行 194: | 行 192: | ||
* コンパイル時に、winsock2のライブラリー(`libws2_32.lib`)を明示的に`-lws2_32`指定しなくてもコンパイルエラーなく実行ファイルを生成した。 | * コンパイル時に、winsock2のライブラリー(`libws2_32.lib`)を明示的に`-lws2_32`指定しなくてもコンパイルエラーなく実行ファイルを生成した。 | ||
- | * MINGW64シェルの64bitコンパイル環境でも、`-lws2_32`を指定すればコンパイルはできたが、実行時の挙動がどうも怪しかった。 | + | * MINGW64シェルの64bitコンパイル環境でも、`-lws2_32`を指定すればコンパイルは通ったが、実行時の挙動がどうも怪しかった。 |
関連記事 | 関連記事 | ||
行 209: | 行 207: | ||
2. [[https:// | 2. [[https:// | ||
3. [[https:// | 3. [[https:// | ||
+ | |||
+ | |||
programing/linux-programing/network-programing/msys2-winsock-network-programing.txt · 最終更新: 2021/07/16 20:34 by yoko