2 recv 2 send



  • hallo!
    ich habe 2 threads und jedes davon hat 2 recv( server ) und beim client sind 2 threads mit 2 send().
    wie kann ich jetzt sicher sein, dass das 1. send auch beim 1. recv vom Thread 1 ankommt und nicht beim 2. Thread z.b.?
    danke



  • Benutze verschiedene Endpoints (IP + Port).
    -> Also verschiedene Ports...



  • danke, wie kann ich da jetzt einfach den port ändern?
    einfach addr.sin_port=htons(408791); da nen anderen port eintragen?
    nur wie bekomme ich dann den socket für diesen port (bin verwirrt)

    if(WSAStartup(MAKEWORD(2,0), &wsa) != 0)
    	{
    		cout << "Socket konnte nicht gestartet werden" << endl;
    	}
    	acceptSocket = socket(AF_INET,SOCK_STREAM,0);
    	if(acceptSocket==INVALID_SOCKET)
    	{
    		cout << "Socket konnte nicht erstellt werden" << endl;
    	}
    	memset(&addr,0,sizeof(SOCKADDR_IN));
    	addr.sin_family=AF_INET;
    	addr.sin_port=htons(408791);
    	addr.sin_addr.s_addr=INADDR_ANY;
    	if(bind(acceptSocket,(SOCKADDR*)&addr,sizeof(SOCKADDR_IN)) == SOCKET_ERROR)
    	{
    		cout << "Socket konnte nicht gebindet werden" << endl;
    	}
    	if(listen(acceptSocket,10)==SOCKET_ERROR)
    	{
    		cout << "listen ist fehlgeschlagen" << endl;
    	}
    	connectedSocket=accept(acceptSocket,NULL,NULL);
    	if(connectedSocket==INVALID_SOCKET)
    	{
    		cout << "Socket konnte nicht akzeptiert werden" << endl;
    	}
    


  • wo ist das Problem? Einfach nochmal starten, connecten usw.
    Nur mit einem anderen Port.



  • addr.sin_port=htons(408791);
    

    Ports gibts nur von 0 bis 65535.

    Simon


Anmelden zum Antworten