Mask
دوشنبه 27 مهر 1394, 18:16 عصر
سلام دوستان.
با استفاده از کد زیر به راحتی بوسیله Tcp مقداری رو ارسال میکنم.
public class Client extends Activity {
private Socket socket;
private static final int SERVERPORT = 5050;
private static final String SERVER_IP = "192.168.1.10";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Thread(new ClientThread()).start();
}
public void onClick(View view) {
try {
EditText et = (EditText) findViewById(R.id.EditText01);
String str = et.getText().toString();
str.getBytes("UTF-8");
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);
out.println(str);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
class ClientThread implements Runnable {
@Override
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
مشکلم اینجاست که سرور استرینگ مورد نظر رو میگیره و درجوابش مقداری رو بر میگردونه، اما هر کاری کردم مقدار بازگشتی از سرور بر روی همون سوکت رو نتونستم دریافت کنم. حتی کد زیر رو هم نوشتم :
public class Client extends Activity {
private Socket socket;
private boolean connected = false;
private static final int SERVERPORT = 4848;
private static final String SERVER_IP = "192.168.137.1";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Thread(new ClientThread()).start();
}
public void onClick(View view) {
try {
EditText et = (EditText) findViewById(R.id.EditText01);
EditText edt1 = (EditText) findViewById(R.id.edt1);
String str = et.getText().toString();
str.getBytes("UTF-8");
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);
out.println(str);
BufferedReader in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
String inMsg = in.readLine();// + System.getProperty("line.separator");
edt1.setText(inMsg);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
class ClientThread implements Runnable {
@Override
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
میشه دوستان بنده رو راهنمایی کنند؟
ممنون.
با استفاده از کد زیر به راحتی بوسیله Tcp مقداری رو ارسال میکنم.
public class Client extends Activity {
private Socket socket;
private static final int SERVERPORT = 5050;
private static final String SERVER_IP = "192.168.1.10";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Thread(new ClientThread()).start();
}
public void onClick(View view) {
try {
EditText et = (EditText) findViewById(R.id.EditText01);
String str = et.getText().toString();
str.getBytes("UTF-8");
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);
out.println(str);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
class ClientThread implements Runnable {
@Override
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
مشکلم اینجاست که سرور استرینگ مورد نظر رو میگیره و درجوابش مقداری رو بر میگردونه، اما هر کاری کردم مقدار بازگشتی از سرور بر روی همون سوکت رو نتونستم دریافت کنم. حتی کد زیر رو هم نوشتم :
public class Client extends Activity {
private Socket socket;
private boolean connected = false;
private static final int SERVERPORT = 4848;
private static final String SERVER_IP = "192.168.137.1";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Thread(new ClientThread()).start();
}
public void onClick(View view) {
try {
EditText et = (EditText) findViewById(R.id.EditText01);
EditText edt1 = (EditText) findViewById(R.id.edt1);
String str = et.getText().toString();
str.getBytes("UTF-8");
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);
out.println(str);
BufferedReader in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
String inMsg = in.readLine();// + System.getProperty("line.separator");
edt1.setText(inMsg);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
class ClientThread implements Runnable {
@Override
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
میشه دوستان بنده رو راهنمایی کنند؟
ممنون.