/*Make a new Ccs Server socket, on the given port. Returns the actual port and IP address. */ void CcsServer_new(skt_ip_t *ret_ip,int *use_port,const char *authFile) { char ip_str[200]; skt_ip_t ip; unsigned int port=0;if (use_port!=NULL) port=*use_port; CCS_AUTH_new(&ccs_clientlist); security=CcsSecMan_default(authFile); skt_init(); ip=skt_my_ip(); ccs_server_fd=skt_server(&port); printf("ccs: %s\nccs: Server IP = %s, Server port = %u $\n", CMK_CCS_VERSION, skt_print_ip(ip_str,ip), port); fflush(stdout); if (ret_ip!=NULL) *ret_ip=ip; if (use_port!=NULL) *use_port=port; }
int main() { unsigned int port=1234; SERVER_SOCKET serv=skt_server(&port); while (1) { /* be a server */ std::cout<<"Listening on port "<<port<<std::endl; skt_ip_t client_ip; unsigned int client_port=0; SOCKET s=skt_accept(serv,&client_ip,&client_port); std::cout<<"Client connected from "<<skt_print_ip(client_ip)<<":"<<client_port<<std::endl; bool intranet=false; if (client_ip.data[0]==127 || client_ip.data[0]==10) intranet=true; try { handle_client(s,intranet); } catch (std::runtime_error &e) { std::cout<<"Client error: "<<e.what()<<"\n"; } } }
// Constructor Server::Server(unsigned int port): _dead(true){ skt_set_abort(server_skt_abort); _socket = skt_server(&port); }