Salve a tutti, ho scritto questo post perché ho molte difficoltà a creare una (in giro la chiamano semplicissima) chat che utilizza un server e un client collegati via internet utilizzando i socket. Fino ad ora sono riuscito ad imparare questo tipo di programma solo con java. Ora vorrei programmare sempre un client e un server in c#. Spiego il procedimento che ho fatto in java, sperando che possa fare lo stesso con c#.

premetto:
a) non vado in una scuola dove si impara anche a programmare, quindi le mie conoscenze discrete e non altissime, anche perchè solo da qualche mese sto iniziando a programmare con linguaggi simili a java, c# ecc.

b) potrei non utilizzare un linguaggio corretto.

server:

1) dichiaro una variabile ServerSocket che chiamerò server e gli do come parametro una porta, es. 6000

2) creo un Socket client, infine attendo che un client si connetta (utilizzando accept() ; )

3) prelevo da client l'OutputStream e lo "sovrascrivo" con PrintStream.(questo per inviare messaggi)

4) per quanto riguarda la lettura utilizzo un BufferReader e l'InputStream

Il client è più o meno la stessa cosa quindi evito di scriverlo

Ora, ho scritto questo perché di sicuro questo tipo di processo avrà un nome che io non conosco e volevo sapere se esiste un processo simile in c#.

Quindi...

Posso programmare il complesso utilizzando c# ma con processi simili a quello descritto sopra?

Quali sono i "sostituti" di InputStream, OutputStream, PrintStream, BufferedReader che posso utilizzare con c#??

Grazie per l'attenzione

cordiali saluti

g.b99pm10