// CppClient.cpp : このファイルには 'main' 関数が含まれています。プログラム実行の開始と終了がそこで行われます。 // #define _CRT_SECURE_NO_WARNINGS #define _WINSOCK_DEPRECATED_NO_WARNINGS #include #include #include #pragma comment(lib, "ws2_32.lib") #define PORT 9876 //サーバープログラムとポート番号を合わせてください int main() { // IP アドレス,ポート番号,ソケット,sockaddr_in 構造体 char destination[32]; int dstSocket; struct sockaddr_in dstAddr; // 各種パラメータ char buffer[1024]; // Windows の場合 WSADATA data; WSAStartup(MAKEWORD(2, 0), &data); // 相手先アドレスの入力と送る文字の入力 printf("サーバーマシンのIPは?:"); scanf("%s", destination); // sockaddr_in 構造体のセット memset(&dstAddr, 0, sizeof(dstAddr)); dstAddr.sin_port = htons(PORT); dstAddr.sin_family = AF_INET; dstAddr.sin_addr.s_addr = inet_addr(destination); // ソケットの生成 dstSocket = socket(AF_INET, SOCK_STREAM, 0); //接続 if (connect(dstSocket, (struct sockaddr*) & dstAddr, sizeof(dstAddr))) { printf("%s に接続できませんでした\n", destination); return(-1); } printf("%s に接続しました\n", destination); printf("適当なアルファベットを入力してください\n"); while (1) { scanf("%s", buffer); //パケットの送信 send(dstSocket, buffer, 1024, 0); //パケットの受信 recv(dstSocket, buffer, 1024, 0); printf("→ %s\n\n", buffer); } // Windows でのソケットの終了 closesocket(dstSocket); WSACleanup(); return(0); } // プログラムの実行: Ctrl + F5 または [デバッグ] > [デバッグなしで開始] メニュー // プログラムのデバッグ: F5 または [デバッグ] > [デバッグの開始] メニュー // 作業を開始するためのヒント: // 1. ソリューション エクスプローラー ウィンドウを使用してファイルを追加/管理します // 2. チーム エクスプローラー ウィンドウを使用してソース管理に接続します // 3. 出力ウィンドウを使用して、ビルド出力とその他のメッセージを表示します // 4. エラー一覧ウィンドウを使用してエラーを表示します // 5. [プロジェクト] > [新しい項目の追加] と移動して新しいコード ファイルを作成するか、[プロジェクト] > [既存の項目の追加] と移動して既存のコード ファイルをプロジェクトに追加します // 6. 後ほどこのプロジェクトを再び開く場合、[ファイル] > [開く] > [プロジェクト] と移動して .sln ファイルを選択します