想做一个手机APP 实现功能如下:
1、这个APP可以访问公司自制的一个服务器 类似于192.168.1.12 port 3500
2、访问该服务器之后提取服务器内某个文件夹内的最后一个TXT文本的最后一行内容 并显示出来
3、该TXT文件内容会自动更新 所以APP显示的内容也是更新的 并不是叠加的形式 是每次只显示一条
这个功能能实现吗
再网上找了好多 客户端服务器端通信的代码 好像大部分只能在本地实现
我想做的是在任何一个地方只要打开这个APP就能看到公司服务器内TXT文本的最后一条内容
想做一个手机APP 实现功能如下:
1、这个APP可以访问公司自制的一个服务器 类似于192.168.1.12 port 3500
2、访问该服务器之后提取服务器内某个文件夹内的最后一个TXT文本的最后一行内容 并显示出来
3、该TXT文件内容会自动更新 所以APP显示的内容也是更新的 并不是叠加的形式 是每次只显示一条
这个功能能实现吗
再网上找了好多 客户端服务器端通信的代码 好像大部分只能在本地实现
我想做的是在任何一个地方只要打开这个APP就能看到公司服务器内TXT文本的最后一条内容
该回答内容部分引用GPT,GPT_Pro更好的解决问题
是的,这个功能可以实现。首先,你可以使用Socket编程来实现客户端和服务器的通信。例如,在客户端,你可以使用Socket来连接服务器,并读取服务器上的文件。在服务器端,你可以使用一些API来检索TXT文本的内容,并将其传输到客户端。
下面是一段代码示例:
//客户端示例代码
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.Socket;
public class Client {
public static void main(String[] args) throws Exception {
Socket socket = new Socket("192.168.1.12",3500);
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String str = br.readLine();
System.out.println("服务器上TXT文本中的最后一行内容为:" + str);
br.close();
socket.close();
}
}
//服务器端示例代码
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws Exception {
ServerSocket ss = new ServerSocket(3500);
Socket s = ss.accept(); //客户端连接的时候会触发accept方法
PrintWriter pw = new PrintWriter(s.getOutputStream(), true); //true表示自动刷新缓存
//读取文件内容
BufferedReader br = new BufferedReader(new FileReader("fileName")); //fileName是要读取的文件名
String line;
String lastLine = ""; //保存最后一行内容
while((line=br.readLine())!=null){ //读取每一行数据
lastLine = line;//获取最后一行数据
}
pw.println(lastLine); //将最后一行数据发送到客户端
br.close();
pw.close();
s.close();
ss.close();
}
}
如果回答有帮助,望采纳。