2016-03-30 8 views
0

Ich habe eine Frage zu Sockets. Ich verstehe grundsätzlich Server-Client-Beziehung sollte unten notiert werden. Aber meine Frage ist, was ist, wenn der Server in diesem Fall zurückschreiben muss, wie das Coding sein soll? Muss der Client accept() akzeptieren usw.?Sockets-Server schreibt zurück auf Client

Server-Seite

socket(...); 
getaddrinfo(....); 
bind(...); 
listen(...); 
accept(....); 
read(....); 
//what if server needs to write to client 

Client-Seite

socket(...); 
getaddrinfo(....); 
connect(...); 
write(....); 
//what if client needs to read 
+0

Nach den ersten fünf Aufrufen (serverseitig) oder drei Aufrufen (clientseitig) in Ihrer Frage "vergisst" die Verbindung, welche Seite der Server ist und verhält sich symmetrisch. Jede Seite kann lesen oder schreiben. – immibis

Antwort

1

Nr Server <> Client Comms ist Vollduplex.

Der Server kann auf denselben Server schreiben <> Client-Socket, der vom Aufruf read() verwendet wird, und in ähnlicher Weise kann der Client vom selben Socket lesen, der für den Aufruf write() verwendet wird.

Verwandte Themen