Android连接socket
本文章主要是写Android作为客户端。
- Android客户端
对于Android客户端,我们需要创建一个Socket对象,并指定服务器的IP地址和端口号。然后,使用Socket对象的connect()方法连接到服务器。连接成功后,可以使用Socket对象发送和接收数据。但其中一个比较重要的点是要使用到多线程,因为Android应用程序是单线程的。
代码如下:
public class socket extends Thread{
//Declare variables
private String ip;
private int port;
private Socket socket;
private BufferedReader in;
private BufferedWriter out;
//获取ip和端口
public socket(String ip, int port) throws IOException {
this.ip = ip;
this.port = port;
}
//重写run方法,
@Override
public void run() {
try {
socket = new Socket(ip,port);
//创立输入输出流
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
} catch (IOException e) {
throw new RuntimeException(e);
}
//不断扫描直到接收到消息
while(true){
try {
//读取消息(一行一行所以发送方要加入\r\n)
String msg =in.readLine();
System.out.printf("收到消息:%s\n",msg);
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}}
//以上只是Android和java连接并且接收消息发送的话自然还要多一个方法用于发送消息
至于java的服务器端请查询上一篇qt和java的socket通信,写的比较菜还请多多担待;
//创立新的socket连接
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)