コード例 #1
0
ファイル: main.c プロジェクト: pspdevelopment/PSPDrone05Rel
int make_udpsocket(uint16_t port)
{
	int sock;
	int ret;
	struct sockaddr_in name;

	sock = socket(AF_INET, SOCK_DGRAM, 0);
	if(sock < 0)
	{
		return -1;
	}

	name.sin_family = AF_INET;
	name.sin_port = htons(port);
	name.sin_addr.s_addr = htonl(INADDR_ANY);
	dest.sin_family = AF_INET;
	dest.sin_port = htons(port);
	dest.sin_addr.s_addr = sceNetInetInetAddr(DRONE_IP);
	ret = bind(sock, (struct sockaddr *) &name, sizeof(name));
	if(ret < 0)
	{
		return -1;
	}
	return sock;
}
コード例 #2
0
ファイル: util.c プロジェクト: endavid/remoteCanvasPSP
int my_loadpicks_fromfile(PICKER* pickerP, const char* szFile, bool bParseIP)
    // returns number of entries read
{
    FILE* pf = fopen(szFile, "rt");
    if (pf == 0)
        return 0;
    char szLine[128];
    int nAdded = 0;
    while (fgets(szLine, sizeof(szLine), pf) != NULL)
    {
        // CR-LF will cause blank lines
        if (szLine[0] == '\0' || szLine[0] == ';')
            continue;   // skip

        // format is "BIG_STRING;FinePrint"
        char* szFinePrint = strchr(szLine, ';');
        if (szFinePrint != NULL)
            *szFinePrint++ = '\0';
        u32 userData = 0;
        if (bParseIP)
        {
            // parse szLine for ?.?.?.? IP address
            userData = sceNetInetInetAddr(szLine);
            if (userData == 0)
                continue;   // bad, skip it
        }
        // only first 5 will fit
        if (my_addpick(pickerP, szLine, szFinePrint, userData))
            nAdded++;
    }
    fclose(pf);
    return nAdded;
}
コード例 #3
0
int connectSocket( const char * ip_addr, unsigned short port )
{
	struct sockaddr_in addr;
	int opt = 1;
	
	addr.sin_family = AF_INET;
    addr.sin_port = htons( port ); 
    addr.sin_addr.s_addr = sceNetInetInetAddr( ip_addr );
	
	int i = 0;
	for( i = 0; i < 4; i ++ )
	{
		ctrl_opts.sock[i].server = sceNetInetSocket( PF_INET, SOCK_STREAM, 0 );
		if ( ctrl_opts.sock[i].server < 0 )
		{
			log( "Error create sock connection\n" );
			return -1;
		}
		int ret = sceNetInetSetsockopt( ctrl_opts.sock[i].server, SOL_TCP, TCP_NODELAY, &opt, sizeof( opt ) );
		if ( ret != 0 )
		{
			log( "Error setting sock option\n" );
			return -1;
		}

		ret = sceNetInetConnect( ctrl_opts.sock[i].server, ( struct sockaddr * )&addr, sizeof( addr ) );
		if ( ret < 0 )
		{
			log( "Error connect to sock %08x\n", ctrl_opts.sock[i].server );
			return -1;
		}
		ctrl_opts.sock[i].thid = sceKernelCreateThread( "sock_thread", sock_thread, 0x20, 0x2000, PSP_THREAD_ATTR_USBWLAN, NULL );
		if ( ctrl_opts.sock[i].thid < 0 )
		{
			log( "Error creating thread\n" );
			return -1;
		}
		unsigned int addr = ( unsigned int )&ctrl_opts.sock[i];
		sceKernelStartThread( ctrl_opts.sock[i].thid, 4, &addr );
	}
	
	return 0;
}