Showing posts with label network. Show all posts
Showing posts with label network. Show all posts

6/7/16

Chatroom sử dụng TCP Socket

Như các bạn đã biết thì socket là kỷ thuật được sử dụng khá phổ biến để các chương trình giao tiếp trong mạng. Với socket thì ta có thể làm đủ thứ trò hay ho như truyền nhận file, chat, teamview(phiên bản chế)…Hôm nay mình sẽ hướng dẩn các bạn cách viết một chương trình chatroom đơn giản sử dụng TCP Socket của java và C#.

Tìm hiểu về TCP Socket

Mấy định nghĩa về socket hay giao thức TCP thì các bạn có thể đọc thêm trên mạng, đầy ra đó. Mình chỉ nói ngắn gọn thế này.
  1. TCP: đây là một giao thức được sử dụng khá phổ biến. HTTP(khi bạn lướt web), FTP(khi bạn truyền file), SMTP(khi bạn gửi mail)…đều sử dụng giao thức TCP cả. Nó cung cấp khả năng truyền nhận đáng tin cậy, đảm bảo các gói tin đúng thứ tự và phải kết nối trước khi làm việc. Đại khái là bên kia sẽ nhận đúng những gì mà bạn đã gửi.
  2. Socket: lớp Socket và một số lớp khác như InetAddress, ServerSocket…đều được hổ trợ trực tiếp trong java chuẩn, nghĩa là bạn không cần phải sử dụng thêm thư viện của bên thứ ba. Lớp Socket trong java hổ trợ làm việc với giao thức TCP và để giao tiếp với nhau thì java hổ trợ sử dụng giao tiếp dạng stream. Đối với C# thì cũng tương tự, các lớp làm việc với socket như TcpClient, IPAddress, TcpListener… đều được C# hổ trợ tận răng và không cần thêm thư viện của bên thứ ba nào cả.