最近做一个项目,是关于用安卓编程获取手机的蓝牙地址,并且把获取的蓝牙地址通过socket传输到服务器端,真的很急,希望大神能够帮忙解决,一个悲催的工科妹子在此谢过了。。。
client:
package Socketprocess;
import java.net.*;
import java.io.*;
public class Client{
public void getadd()
{
}
public static void main(String[] args) throws Exception{
Socket s = new Socket("10.129.165.146",8899);
DataOutputStream dos = new DataOutputStream(s.getOutputStream()); //获取Socket对象的输出流,并且在外边包一层DataOutputStream管道,方便输出数据
Thread.sleep((int)(Math.random()*3000)); //让客户端不定时向服务器发送消息
dos.writeUTF("客户端"); //DataOutputStream对象的writeUTF()方法可以输出数据,并且支持中文
dos.flush(); //确保所有数据都已经输出
dos.close(); //关闭输出流
s.close(); //关闭Socket连接
}
}
clientachieve:
package Socketprocess;
import java.io.DataInputStream;
import java.net.Socket;
public class Clientacheive implements Runnable{
int clientIndex = 0; //保存客户端id
Socket s = null; //保存客户端Socket对象
Clientacheive(int i,Socket s){
clientIndex = i;
this.s = s;
}
public void run(){
//打印出客户端数据
try{
DataInputStream dis = new DataInputStream(s.getInputStream());
System.out.println("第" + clientIndex + "个客户端发出消息:" + dis.readUTF());
dis.close();
s.close();
}
catch(Exception e)
{}
}
}
server:
package Socketprocess;
import java.net.*;
//import java.io.*;
public class TCPServer{
public static void main(String[] args) throws Exception{
ServerSocket ss = new ServerSocket(9988); //创建一个Socket服务器,监听5566端口
int i=0;
//利用死循环不停的监听端口
while(true){
Socket s = ss.accept();//利用Socket服务器的accept()方法获取客户端Socket对象。
i++;
System.out.println("第" + i +"个客户端成功连接!");
Clientacheive c = new Clientacheive(i,s); //创建客户端处理线程对象
Thread t =new Thread(c); //创建客户端处理线程
t.start(); //启动线程
}
}
}
client部分是打算放到安卓手机上运行的。。。如果能够有解答,真心感激不尽了!