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