Làm sao để client và server ở 2 máy tính khác nhau có thể giao tiếp được với nhau qua wifi

Chào anh chị, em đang tập tành học lập trình mạng và làm con game đơn giản chạy bằng C trên ubuntu. Khi chạy cả client và server trên 1 máy duy nhất, ở client em dùng IP và Port của máy đó để cả 2 giao tiếp với nhau. Tuy nhiên khi server ở trên 1 máy và client ở trên 1 máy khác (cụ thể là 2 laptop) thì không làm được như vậy nữa. Em thử ping giữa 2 máy cũng không được(2 máy bắt cùng mạng wifi). Em không biết có cách nào để giải quyết vấn đề này mà không cần phải kết nối dây(ví dụ như qua wifi chằng hạn) hay không.
Rất mong được anh chị giúp đỡ.
Em cảm ơn nhiều ạ!

bạn ping như thế nào

2 Likes

dùng lệnh ifconfig lấy ip 1 máy rồi lấy máy khác ping ip đó thôi thôi ạ, nhưng ko được. Em không biết có phải làm bước gì trước đó thì mới ping được không. Em cũng thử trên 2 máy win với nhau nhưng không được

Bạn có lấy đúng ip local ko, và 2 ip có cùng dãy ip ko, bạn post ip server + client lên mọi người xem thử

2 Likes

bạn thử check xem IP đó có cùng mạng không nhé, vì có thể 1 máy có nhiều IP

Để Mị bày cho cách tróp bô sút ting ca này nhé. Để đảm bảo 2 máy nói chuyện được với nhau cần đáp ứng các yêu cầu sau:

  1. Cùng lớp mạng. Ví dụ trong mạng LAN thì có thể là 192.168.x.y, 172.16.x.y hoặc 10.0.x.y. Hãy kiểm tra 2 máy cùng subnet mask.
  2. Kiểm tra default route và/ hoặc gateway để chắc rằng 2 máy đều trỏ về IP modem/ router wifi. Nếu 2 máy đang để tự động dynamic IP và DHCP thì có thể chỉnh lại bằng tay cho khớp. Thường gateway này trong mạng LAN với modem wifi thông thường hay có IP 192.168.0.1 hoặc 192.168.1.1. Hãy kiểm tra lại trong tình huống của bạn cho chắc.
  3. Kiểm tra lại firewall ở 2 máy, cho phép port cần làm được kết nối, tức là port mà game sử dụng. Nếu không chắc biết gì về firewall, thử gõ lệnh
    sudo systemctl stop ufw && sudo ufw disable để tắt tường lửa ở 2 máy cần thông nhau.
  4. Dùng các lệnh như traceroute, nmap, ping để kiểm tra xem 2 máy đã thông nhau chưa. Chưa biết dùng lệnh thì gõ lệnh kèm --help là ra, dân vọc máy tính không đọc đuọc help thì… vứt.
  5. Khi mọi cách thua, hãy bỏ qua Wi-fi, lấy dây mạng nối trực tiếp 2 máy và set IP tĩnh cho 2 máy cùng mạng để vọc, thay vì bó tay.
2 Likes

Công nghệ hiện đại quá thành ra …hại điện. Nhớ “hồi xưa” toàn đi xin mấy ông học CCNA bấm cho sợi cáp chéo về cắm vô 2 máy chạy phà phà :slight_smile:

Trở lại vấn đề chính, 2 máy dùng chung wifi thì 99.99% là cùng subnet, vấn đề không thấy nhau có thể là firewall. Disable firewall như bác @superthin hướng dẫn là ok thôi.

3 Likes

Ngày nay bấm thẳng, bấm chéo gì cũng gắn được luôn mới kinh dị :smiley: Chưa kể có lúc tui còn thấy có gã bấm sao đó chỉ có 4 sợi, 4 sợi còn lại không gắn vào đầu RJ45 luôn mới khủng hoảng chứ. Còn trò nối dây mạng như nối dây điện khi không đủ dài nữa thì tui hoàn toàn té ngửa.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?