UDP通信について
今、C言語を用いて計算させた複数の値をUnityのオブジェクトへ渡してオブジェクトを移動させようとしています。
キャラクターの位置x,yと速度vをC言語で計算し、UDP通信を用いてUnityのオブジェクトへ渡して移動を反映させようと思っています。
参考にしているコードはこちらです。http://qiita.com/nenjiru/items/b1ffd4a01b3d96b2bbb7
#define _WINSOCK_DEPRECATED_NO_WARNINGS #include <stdio.h> #include <string.h> #include <WinSock2.h> #define INTERVAL_TIME 1 void udpSend(char* address, int port); int port = 20001;//ポート番号 char addr[] = "0.0.0.0";//配列を用意 double data[] = { 0, 1, 0.0005, -0.0009 };//送信するデータ int main() { /* Windows 独自の設定 */ WSADATA data; WSAStartup(MAKEWORD(2, 0), &data); udpSend(addr, port); return 0; } void udpSend(char* address, int port) { int udp = socket(AF_INET, SOCK_DGRAM, 0); struct sockaddr_in addr; struct hostent *host; /*構造体のセット*/ memset(&addr, 0, sizeof(addr)); host = gethostbyname(address); memcpy(host->h_addr, &addr.sin_addr, host->h_length); addr.sin_family = AF_INET; addr.sin_port = htons(port); while (1) { sendto(udp, (unsigned char*)data, sizeof data, 0, (struct sockaddr *)&addr, sizeof(addr)); Sleep(INTERVAL_TIME); } closesocket(udp); WSACleanup(); }
私はVisual Studioを使用しているため、サイトのコードを少し変更しました。
sendto(udp, (unsigned char*)data, sizeof data, 0, (struct sockaddr *)&addr, sizeof(addr));のところでエラーが出てしまいます。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー