示例#1
0
/*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;
}
示例#2
0
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";
		}
	}
}
示例#3
0
// Constructor
Server::Server(unsigned int port): _dead(true){
    skt_set_abort(server_skt_abort);
    _socket = skt_server(&port);
}