2012-02-09 26 views
5

Tôi đang cố gắng thiết lập kết nối mạng cơ bản bằng trình giả lập droid với nhật thực nhưng tôi đang gặp sự cố. Máy chủ đạt đến dòng "Socket s = ss.accept();" và chờ khách hàng kết nối, nhưng khách hàng dường như không thể kết nối.ServerSocket không chấp nhận giả lập droid

Bây giờ tôi đã có thể kết nối máy khách với máy chủ python mà tôi đã tạo và thực hiện tương tự như máy chủ tôi đã tạo cho droid. Tôi đã cho phép sử dụng Internet trên cả máy khách và máy chủ trong AndroidManifest vì vậy tôi thua lỗ vì sao máy chủ này không hoạt động trên trình giả lập droid của tôi.

Sever:

 ServerSocket ss = new ServerSocket(8888); 
      while(!end){ 
        Socket s = ss.accept(); 
        Log.v("Server","Connection found"); 
        BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream())); 
        PrintWriter output = new PrintWriter(s.getOutputStream(),true); 
        String st = input.readLine(); 

Chủ đầu tư:

 Socket s = new Socket(MYIPADDR,8888); 

     BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream())); 

Bất kỳ trợ giúp sẽ được đánh giá rất nhiều.

Trả lời

0

Đây có phải là vấn đề ame hay không: Android - Server Socket. Chủ yếu là phần đầu tiên của câu hỏi và câu trả lời được chấp nhận.

1

Chỉ cần thêm vào câu trả lời Luka kể từ khi bạn có thể sẽ chạy vào các vấn đề trong tương lai:

Nếu bạn đang sử dụng ổ cắm, bạn có thể muốn sử dụng một thư viện để giúp đỡ với tất cả việc duy trì điều đó thực sự cần thiết cho một kết nối ổn định.

Một thư viện tốt để sử dụng để xử lý các kết nối sẽ là: https://github.com/koush/android-websockets

Nó sẽ giữ cho các kết nối còn sống và là khá đơn giản để thay đổi xung quanh để phù hợp với nhu cầu gửi của bạn. Điều duy nhất nó thiếu là một tính năng gọi lại để đối phó với dữ liệu đến, nhưng đó sẽ là cách dễ dàng hơn để thực hiện hơn hoàn toàn thiết lập một cái gì đó từ đầu để đối phó với toàn bộ kết nối.

Các vấn đề liên quan