我正在开发一个 Android 应用程序。Android 应用程序(客户端)将与 pc(服务器)连接并共享数据。现在我可以成功建立连接但我无法发送数据。这是我的 Java 文件,其中包含建立连接和发送数据的所有逻辑。
ServerConnection.java
public class ServerConnection {
private static int SERVER_PORT = 1100;
private static String SERVER_IP = "192.168.43.7";
private boolean isConnected=false,connectionDone=false;
private boolean mouseMoved=false;
Context context;
private Socket socket;
private PrintWriter out;
public void startConnection(String port , String ip){
SERVER_IP = ip.toString();
ConnectPhoneTask connectPhoneTask = new ConnectPhoneTask();
connectPhoneTask.execute(SERVER_IP);
}
public void sendDataToServer(String text){
try {
if(isConnected) {
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true); //create output stream to send data to server
}
}catch (IOException e){
Log.e("remotedroid", "Error while creating OutWriter", e);
Toast.makeText(context, "Error: while creating OutWriter "+e, Toast.LENGTH_LONG).show();
}
if(out!=null){
out.println(text);
}
else{
Log.e("check" , "Something is wrong here");
}
}
public class ConnectPhoneTask extends AsyncTask<String,Void,Boolean> {
@Override
protected Boolean doInBackground(String... params) {
boolean result = true;
try {
InetAddress serverAddr = InetAddress.getByName(params[0]);
socket = new Socket(serverAddr, SERVER_PORT);//Open socket on server IP and port
} catch (IOException e) {
Log.e("remotedroid", "Error while connecting", e);
result = false;
}
return result;
}
这个片段将发起连接并发送数据(通过调用sendDataToServer(String text)方法)。
蝴蝶刀刀
相关分类