www.pudn.com > udt4.rar > testserver.cpp
#ifndef WIN32 #include#include #include #include #else #include #include #endif #include #include #include "cc.h" using namespace std; #ifndef WIN32 void* recvdata(void*); #else DWORD WINAPI recvdata(LPVOID); #endif int main() { UDTSOCKET serv = UDT::socket(AF_INET, SOCK_STREAM, 0); sockaddr_in my_addr; my_addr.sin_family = AF_INET; my_addr.sin_port = htons(7000); my_addr.sin_addr.s_addr = INADDR_ANY; memset(&(my_addr.sin_zero), '\0', 8); if (UDT::ERROR == UDT::bind(serv, (sockaddr*)&my_addr, sizeof(my_addr))) { cout << "bind: " << UDT::getlasterror().getErrorMessage(); return 0; } UDT::listen(serv, 10); int namelen; sockaddr_in their_addr; UDTSOCKET recver = UDT::accept(serv, (sockaddr*)&their_addr, &namelen); char ip[16]; cout << "new connection: " << inet_ntoa(their_addr.sin_addr) << ":" << ntohs(their_addr.sin_port) << endl; char data[100]; if (UDT::ERROR == UDT::recv(recver, data, 100, 0)) { cout << "recv:" << UDT::getlasterror().getErrorMessage() << endl; return 0; } cout << data << endl; UDT::close(recver); UDT::close(serv); return 1; }