Colección de citas famosas - Slogan de motivación - C# tcp implementa el chat entre varias personas

C# tcp implementa el chat entre varias personas

Muy simple. Dado que puede escribir un chat de una sola persona (es decir, P2P), en realidad es similar a un chat de varias personas. Siempre que conozca la IP y el número de puerto de la máquina de la otra parte, puede crear un socket para conectarse.

Socket SOC = nuevo Socket();

soc. ConnectToServer();

Crear una conexión es un fragmento de código en el que los parámetros deben especificar el protocolo (TCP/UDP), IP y puerto, y luego el cliente puede usar Socket para enviar mensajes. Método enviar(). Una vez que el servidor lo recibe, puede recibir el socket del cliente utilizando un TcpListener. El método AcceptTcpClient() también llama al método send() para enviar comentarios al cliente.

La existencia de la llamada pérdida de paquetes UDP o error de precisión es sólo relativa, una simple comprensión conceptual. De hecho, en un entorno de red LAN estable, UDP es la mejor opción, ya que es más rápido y conveniente de programar que TCP. En cuanto al llamado protocolo de enlace, es sólo para la detección de red. ¿Es realmente necesario usarlo en una LAN, a menos que esté buscando alguna terminología y tecnología de moda? Si desea diseñar un protocolo de enlace, debe ser un protocolo de capa de aplicación y debe desarrollarlo usted mismo. De hecho, QQ utiliza el protocolo UDP.

En cuanto al número de puerto, es imposible que una máquina abra dos puertos de escucha idénticos al mismo tiempo, pero un número de puerto es suficiente para las necesidades de conexión externa. Por ejemplo, si abre el puerto número 2512 (el puerto predeterminado para las bases de datos Oracle) para manejar el monitoreo, otras máquinas pueden comunicarse con usted simplemente conectándose a este número de puerto. Tomando a Oracle como ejemplo, un servidor Oracle puede establecer conexiones con múltiples clientes, pero el número de puerto también es 2512. Esto no es contradictorio, porque el servidor solo escucha un puerto, pero puede recibir todas las conexiones de los clientes.

¿lo entiendes?