| 32 | return s.IsValid(); |
| 33 | } |
| 34 | void Respond(const TWelcomeSocketAddr& info) { |
| 35 | char buf[10000]; |
| 36 | int sz = sizeof(buf); |
| 37 | sockaddr_in6 fromAddress; |
| 38 | bool rv = s.RecvFrom(buf, &sz, &fromAddress); |
| 39 | if (rv && strcmp(buf + HDR_SIZE, "Hello_IB") == 0) { |
| 40 | printf("send welcome info\n"); |
| 41 | memcpy(buf + HDR_SIZE, &info, sizeof(info)); |
| 42 | TNetSocket::ESendError err = s.SendTo(buf, sizeof(info) + HDR_SIZE, fromAddress, FF_ALLOW_FRAG); |
| 43 | if (err != TNetSocket::SEND_OK) { |
| 44 | printf("SendTo() fail %d\n", err); |
| 45 | } |
| 46 | } |
| 47 | } |
| 48 | void Request(const char* hostName, int port, TWelcomeSocketAddr* res) { |
| 49 | TUdpAddress addr = CreateAddress(hostName, port); |
| 50 | printf("addr = %s\n", GetAddressAsString(addr).c_str()); |