我有一个应用程序在Android这是一种客户端服务器。使用奇怪的格式通过套接字发送dat
我已经建立了这两者之间的连接,现在我通过套接字发送数据。
服务器是发送数据的客户端,客户端从套接字读取数据。
服务器发送到插座一些GPS数据(经度,纬度)和真发送它我使用以下格式:
公共类坐标{
private final double lon;
private final double lat;
private final int workerId;
public Coordinate(double lat, double lon, int workerId) {
this.lat = lat;
this.lon = lon;
this.workerId=workerId;
}
public double getLon() {
return lon;
}
public double getLat() {
return lat;
}
public int getwId(){
return workerId;
}
}
所以对于每一个经度和我想发送的纬度我添加一个int的workerID。
因此,最后通过我的套接字发送坐标类的实例。
Coordinate coord=new Coordinate(lat,lon,workerID);
os=new PrintStream(clientSocket.getOutputStream());
os.println(coord);
那么,直到这里一切顺利。
在客户端我读数据是这样的:
扫描器是=新扫描仪(新DataInputStream类(socket.getInputStream()));
while(is.hasNext())
{
try{
Coordinate coord=is.next();
System.out.println(coord.getLon());
}
catch(Exception e){
e.printStackTrace();
}
}
的问题是,扫描类,我使用它从套接字输入流中读取返回的字符串,但我要送通过套接字的东西完全地不同..... 。
是否有人知道我怎么能转换输入数据中的坐标,或者我应该如何着手找到什么我送通过插座上的经度和纬度?????
Thx!
编辑:我使用的格式,因为我有我与数据需求!
使用JSON意味着放弃序列化???我真的不知道是什么意思JSON! – embry 2011-05-20 15:03:44
是的,这就是我说的“可选”。通过可序列化,您只能实现与JSON的Java2Java通信,您可以在更多的平台/语言之间交换数据。更多的是一种RESTFul类似的方法。如果您不太关心互操作性,只有您的客户端将访问该服务,那么请使用Java Serializable。 – 2011-05-20 15:12:18
Actualli我的服务器是在java上,我的客户端在android-java上....他是唯一一个读取数据的人.Thx – embry 2011-05-20 15:15:32