WEIVER 2.0 Manual
Weiver 2.0
/ Operations Manual
116
h_Socket = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
memset(&Addr, 0, sizeof(Addr));
Addr.sin_family = AF_INET;
Addr.sin_port = htons(u2_RecvPortFromWeiverPlayer);
Addr.sin_addr.s_addr = htonl(INADDR_ANY);
struct timeval timeout;
timeout.tv_sec = 2;//2 seconds
timeout.tv_usec = 0;
int optlen = sizeof(timeout);
setsockopt(h_Socket, SOL_SOCKET, SO_RCVTIMEO, (const char *)&timeout, optlen);
if(bind(h_Socket, (SOCKADDR*)&Addr, sizeof(Addr)) == SOCKET_ERROR)
{
wprintf(_T("bind() Error"));
closesocket(h_Socket);
return;
}
t_Packet.u4_ID = WEIVER_PLAYER_ID;
t_Packet.u4_Reserved = WV_PLAYER_REMOTE_CMD_SET_STRING;
t_Packet.u4_DataSize = u4_Size;
memset(t_Packet.u1a_Data, 0, 1000);
memcpy(t_Packet.u1a_Data, s1p_Data, u4_Size);
memset(&Addr, 0, sizeof(Addr));
Addr.sin_family = AF_INET;
Addr.sin_port = htons(u2_WeiverPlayerPort);
Addr.sin_addr.s_addr = inet_addr(s1a_WeiverPlayerIP);