30/09/2018, 22:16
Gởi nhận dữ liệu giữa 2 đường truyền mạng khác nhau
Chào mọi người, mình có câu hỏi là mình đang viết ứng dụng nhỏ về chat bằng java, mình muốn hỏi ý kiến làm thế làm để kết nối khi khác đường truyền mạng.
Pro nào ra tay giúp đỡ. cảm ơn nhiêu
Bài liên quan
2 đường truyền mạng khác nhau là sao, ko hiểu bạn hỏi cái gì…
Không hiểu ý bạn là sao luôn. Ứng dụng nhỏ bằng Java của bạn chạy như thế nào bạn mô tả xem.
Thường thì trình chat người ta hiếm khi làm bằng cách hai máy tính trực tiếp với nhau mà phải qua một trung gian là chat server (trừ những ứng dụng chat mới người ta dựa trên sự hỗ trợ của trình duyệt web với các tính năng HTML5 gần đây/ nhưng vẫn nên có server để lưu trữ chứ người dùng chat với nhau không thôi mà không có sự ghi nhận của ứng dụng sẽ là khó khăn để làm thêm tính năng).
Do đó, nếu bạn viết bằng Java thì bạn phải viết phần mã để biên dịch thành chat server trước, sau đó thì viết phần client để client kết nối tới chat server. Tham khảo VÍ DỤ.
Còn khác đường truyền mạng thì không ai hiểu bạn nói gì, chắc luôn. Còn nếu bạn đề cập đến việc bạn có hai đường cáp quang hay ADSL, và bạn muốn hai người ở hai lớp mạng trên hai đường truyền đó gửi thông điệp với nhau trực tiếp theo kiểu như máy tính gửi dữ liệu ra máy in thì bạn phải đi hỏi sư phụ, vì việc đó theo mình là không đơn giản.
Ý bạn là khác địa chỉ IP phải không.
đúng rồi đó bạn, khi ra tầng mạng khác thì đâu biết được ip của người kia vậy giai quyet ntn
Chỉ có một cách là phải có một cái server trung tâm. Server này có địa chỉ tĩnh (dĩ nhiên). Khi hai phía muốn liên lạc với nhau thì đều phải kết nối với cái server này. Giống như người này gọi điện thoại cho người kia thì phải kết nối tổng đài, rồi tổng đài kết nối hai cuộc gọi với nhau.
Đến bây giờ mình mới hiểu ra được server dùng để làm gì khi truyền gói tin giữa hai máy. Đây là một câu hỏi hay.
This post was flagged by the community and is temporarily hidden.
cảm ơn mọi người giúp, minh làm được rồi, mình sử dụng một ip tĩnh sau đó khi user kết nối đến server thì mình giữ socket lại để có thể thao tác giữa 2 bên