Chúng tôi có một phần mềm kế thừa đơn giản mà chúng tôi cần giao tiếp bằng TCP/IP qua cổng 15001. Chúng tôi cần lắng nghe trên cổng 15001 cho phần mềm cũ tạo một kết nối và sau đó đọc bất cứ điều gì nó gửi cho chúng tôi.TcpListener: Nghe trên mọi địa chỉ, bao gồm địa chỉ IP GPRS
Chúng tôi đã thử nghiệm giải pháp này trên internet và nó hoạt động tốt. Tuy nhiên, nếu chúng tôi kiểm tra cùng một giải pháp trên mạng GPRS TCP/IP thì không.
Tất cả các khái niệm cơ bản đã được kiểm tra, chúng tôi có thể ping các thiết bị khác trong mạng GPRS và cổng 15001 không bị chặn bởi bất kỳ tường lửa nào.
Vì vậy, có thể có sự cố với TcpListener của tôi?
Nó được khởi tạo như thế này:
tcpServer = new TcpListener(IPAddress.Any, TCP_PORT);
Tôi giả định nó lắng nghe trên mỗi giao diện có sẵn cho phép IPv4 trên hệ thống, vì tôi sử dụng IPAddress.Any?
Có ai có ý kiến gì về sự khác biệt giữa hai mạng không? (Mặc dù không có bất kỳ sự khác biệt nào) và nếu có điều gì đó tôi cần phải thay đổi thành TcpListener của tôi?
Thú vị rằng mã thử nghiệm được biên dịch/chạy dưới Mono, nó bắt đầu nghe trên 0.0.0.0 nếu IPAddress.Any được truyền cho hàm tạo. –
Đang sử dụng IPAddress.Any tương tự như sử dụng các nhà xây dựng TcpListener (int Port) mà không được chấp nhận? –