android socket

0 امتیاز
37 بازدید
سوال شده تیر 1, 1395 توسط hamed6618  
package com.example.clienttest;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class ClientTest extends Activity {
 
	Socket socket;
	static final int SERVERPORT = 6666;
	static final String SERVER_IP = "192.168.43.52";
	BufferedReader inputt = null;
	Handler handle;
	  TextView inb;
	  Button in;
	  Button disc;
	  String box;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        new Thread(new ClientThread()).start();
        handle = new Handler();
        
        inb = (TextView)findViewById(R.id.text1);
        in = (Button)findViewById(R.id.enviar);
        disc = (Button)findViewById(R.id.ligar);
        
        disc.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				try {
					socket.close();
			    } catch (UnknownHostException e1) {
					e1.printStackTrace();
				} catch (Exception e1) {
					e1.printStackTrace();
				}
			}
		});
        
        in.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				EditText et = (EditText)findViewById(R.id.editText1);
			      String message = et.getText().toString();
			      try {
			      PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
			      out.println(message);
			      } catch (UnknownHostException e) {
			      e.printStackTrace();
			      } catch (IOException e) {
			      e.printStackTrace();
			      } catch (Exception e) {
			      e.printStackTrace();
			      }
			}
		});
      }
 
    public class ClientThread implements Runnable {

    	public void run() { 
    		
    		try {
    			
    			InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
    			socket = new Socket(serverAddr, SERVERPORT);
    			inputt = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    			box = inputt.readLine();
    			handle.post(new Runnable(){
			        public void run(){
			            inb.setText(inb.getText().toString()+"Server :"+box+"\n");
			        }
			        });
    			
    		} catch (UnknownHostException e1) {
    			e1.printStackTrace();
    		} catch (Exception e1) {
    			e1.printStackTrace();
    		}    		
    	}
    }   
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
    }

با سلام و خسته نباشید بنده یک مشکل در ارتباط کلاینت با سرور دارم وقتی اپلیکیشن رو اجرا میکنم به سرور متصل میشم وپیام هم میفرستم ولی از سمت سرور پیام به کلاینت میفرستم نمیاد جالب اینجاست وقتی ارتباط سرورو قطع میکنم پیام نشان داده میشه انگار که پیام یه جایی گیر میکنه لطف کنید کمک کنید با تشکر

 

این مطلب را به اشتراک بگذارید

لطفا وارد شده یا عضو شوید تا بتوانید سوال بپرسید

977 سوال

819 پاسخ

1,329 دیدگاه

1,273 کاربر

متاسفانه نیستم

این مطلب را به اشتراک بگذارید

ali.ashkaran@gmail
ما .....
  • سعی بر پاسخگویی به سوالات دیگران داریم.
  • به سوال و یا نظر دیگران احترام می گذاریم .
  • این وبسایت را به دیگران معرفی می کنیم.
  • همواره صمیمیت و ادب را رعایت می کنیم.
  • به سوالمان برچسب های مرتبط اضافه می کنیم.
  • در حین طرح سوال فرد خاصی را مخاطب قرار نمی دهیم .
...