Home New Help Edit

Visual C++ 2019でWinSock

Suns & Moon Laboratory
2021-03-02

ちょっとC言語からUDP送信したくなったので調査

素材

VisualStudio(VisualC++2019)

UDP送信


Geekなページ UDPを使う

#include <stdio.h> #include <stdint.h> #include <winsock2.h> #include <winsock.h> int test(void) { WSADATA wsaData; SOCKET sock; struct sockaddr_in addr; WSAStartup(MAKEWORD(2, 0), &wsaData); sock = socket(AF_INET, SOCK_DGRAM, 0); addr.sin_family = AF_INET; addr.sin_port = htons(49152); addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1"); sendto(sock, "HELLO", 5, 0, (struct sockaddr*)&addr, sizeof(addr)); closesocket(sock); WSACleanup(); printf("hey"); return 0; }

コンパイル設定

メニューのプロジェクト→プロパティ
プロパティページダイアログの「構成プロパティ」→「リンカー」→「入力」→「追加の依存ファイル」→ws2_32.libを追加


コンパイルエラー対策

ソケット通信のコンパイルエラーについて 2015/1/9

メニューのプロジェクト→プロパティ
プロパティページダイアログの「構成プロパティ」→「C/C++」→「全般」→「SDLチェック」を「いいえ」にする


ちなみにこれが「はい」だと、上記ソースコンパイル時エラーが発生する
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー C4996 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings ConsoleApplication1
いいえにしても、ワーニング出るんですけどね
warning C4996: 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
end.

Home New Help Edit
2023-03-24 09:22:19 32400