Пример #1
0
SocketStream ServerSocket::Accept()
{
    if (mSocket == -1) {
        return SocketStream();
    }
    
    int sockfd = accept(mSocket, nullptr, nullptr);
    if (sockfd == -1) {
        return SocketStream();
    }
    
    return SocketStream(sockfd);
}
Пример #2
0
		public: void find(const char * name, int port){
			SocketStream s = SocketStream();
			struct hostent * other_host;
			/* procura maquina pelo IP */
		    if((other_host = gethostbyname(name))==NULL)
		    	cout << "error: gethostbyname" << endl;

			/* prepara o endereco do servidor */
		    _addr.sin_family = AF_INET;       			 					// tipo do socket
		   	_addr.sin_port = htons(port);   								// porta
		   	_addr.sin_addr = *((struct in_addr *)other_host->h_addr);	// endereco da maquina

			if (connect(_socketServer, (struct sockaddr *)&(_addr),sizeof(struct sockaddr)) < 0)
				cout << "error: connect"<< endl;

		}
NetLib::SocketStream NetLib::ServerSocketStream::ServerSocket::GetConnection() throw (CannotConnect)
{
    // Listen for a connection, indefinitely
    listen(mSockInfo.mSocketID, 5);

    // Instantiate neccessary variables
    SocketInfo vNewSocket;
    socklen_t vSize = sizeof(vNewSocket.mSocketAddress);

    // Ater a connection pops up, accept
    vNewSocket.mSocketID = accept(mSockInfo.mSocketID, (sockaddr*)(&vNewSocket.mSocketAddress),
                                  &vSize);

    if (vNewSocket.mSocketID < 0) throw CannotConnect("");

    // Generate SocketInfo to create the new SocketStream

    return SocketStream(vNewSocket);
}
Пример #4
0
SocketStream Socket::getSocketStream()
{
	return SocketStream(m_socket);
}