Android通过socket 能不能发送某个变量的参数? 发送端发送一个参数的值给接收端,难道只能将参数的值转换成字符串发送给接收端然后再接收到字符串再进行处理得到这个值? 还有一个问题,能不能一次发送多个值给接收端进行处理?新手求解! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 android的socket跟其他的socket没什么特别不一样的,不是只能发字串的。你可以发送一个字节流给对方,一次也可以发送多个参数,只要双方遵循同一个协议就好了,也就是对方收到以后知道怎么把这些参数提取出来。 怎么发送多个参数啊?貌似java没有结构体吧?这怎么发送呢?我是刚接触java,很多东西都不是很了解求教! 比方你发送“para1+para2+para3+para4+....”,对方收到了以后开始解析,碰到一个加号,就知道是一个参数的结尾和下一个参数的开始。这样就可以把所有参数提取出来了。这就是一个最简单的协议。你还可以把协议定的复杂和严谨一些。 能贴点代码或者例子帖子吗?其实你将需要发送的对象类进行序列化,implements Serializable然后调用writeObject(object)接收方直接强转为对象就行 JsonObject json = new JsonObject();json.put(key1,value1);json.put(key2,value2);socket.getOutputStream().write(json.toString().getBytes()); 能贴点代码或者例子帖子吗?其实你将需要发送的对象类进行序列化,implements Serializable然后调用writeObject(object)接收方直接强转为对象就行如果我想用android的内部类我该怎么用呢?比如我想用MotionEvent类。 能贴点代码或者例子帖子吗?其实你将需要发送的对象类进行序列化,implements Serializable然后调用writeObject(object)接收方直接强转为对象就行喂喂喂,回答我下啊。 能贴点代码或者例子帖子吗?其实你将需要发送的对象类进行序列化,implements Serializable然后调用writeObject(object)接收方直接强转为对象就行如果我想用android的内部类我该怎么用呢?比如我想用MotionEvent类。那肯定不行.... 能贴点代码或者例子帖子吗?其实你将需要发送的对象类进行序列化,implements Serializable然后调用writeObject(object)接收方直接强转为对象就行如果我想用android的内部类我该怎么用呢?比如我想用MotionEvent类。那肯定不行....public boolean onTouchEvent(MotionEvent event){}比如我想把event这个变量传到服务端那边没有办法吗? 能贴点代码或者例子帖子吗?其实你将需要发送的对象类进行序列化,implements Serializable然后调用writeObject(object)接收方直接强转为对象就行如果我想用android的内部类我该怎么用呢?比如我想用MotionEvent类。那肯定不行....public boolean onTouchEvent(MotionEvent event){}比如我想把event这个变量传到服务端那边没有办法吗?你应该是想得到event里面的x y坐标值吧,自己重新写一个类并序列化,把需要的值在你的类中重新包装下..然后发去 你有没有什么socket通信用Serializable的例子吗?我这边接收端说没有找到类。不知道怎么回事。 http://blog.csdn.net/cq361106306/article/details/8107105 我是有一个接收端一个是发送端,分别是两个工程,我把那个需要发送的类分别加到了两个工程中,然后接收端就会报没找到类的错误。你帮我看看01-03 07:49:46.408: D/dalvikvm(14528): Late-enabling CheckJNI01-03 07:49:46.448: I/dalvikvm(14528): Turning on JNI app bug workarounds for target SDK version 8...01-03 07:49:46.578: I/System.out(14528): 开始服务01-03 07:50:18.038: D/ViewRootImpl(14708): pckname = study.message.receive01-03 07:50:18.048: I/System.out(14708): 开始服务01-03 07:52:08.608: I/System.out(14708): S: Error01-03 07:52:08.608: W/System.err(14708): java.lang.ClassNotFoundException: com.example.touchevent.SaveInformation01-03 07:52:08.618: W/System.err(14708): at java.lang.Class.classForName(Native Method)01-03 07:52:08.618: W/System.err(14708): at java.lang.Class.forName(Class.java:217)01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:2297)01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.readNewClassDesc(ObjectInputStream.java:1656)01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:683)01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1799)01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999)01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956)01-03 07:52:08.618: W/System.err(14708): at study.message.receive.Msg_REC_Background$AndroidServer.run(Msg_REC_Background.java:53)01-03 07:52:08.618: W/System.err(14708): at java.lang.Thread.run(Thread.java:856)01-03 07:52:08.618: W/System.err(14708): Caused by: java.lang.NoClassDefFoundError: com/example/touchevent/SaveInformation01-03 07:52:08.618: W/System.err(14708): ... 11 more01-03 07:52:08.618: W/System.err(14708): Caused by: java.lang.ClassNotFoundException: com.example.touchevent.SaveInformation01-03 07:52:08.628: W/System.err(14708): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)01-03 07:52:08.628: W/System.err(14708): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)01-03 07:52:08.628: W/System.err(14708): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)01-03 07:52:08.628: W/System.err(14708): ... 11 more这是发送端的发送代码ObjectOutputStream ops = new ObjectOutputStream(socket.getOutputStream()); ops.writeObject(saveInformation);这是接收端的接收代码ObjectInputStream ois = new ObjectInputStream(client.getInputStream()); SaveInformation saveInformation = (SaveInformation) ois.readObject(); java模拟c#中的委托时的反射调用方法问题 Android in-app billing出现的问题 android 小游戏触屏问题 基于imx51的平板玩不起angry birds 怎样把Document to go 弄到android虚拟机上去呢? android中的宏是否定义,到哪个文件或哪些文件中查找、 AsyncTask#onPreExecute竟然在子线程执行? android访问webservice返回结果SoapFault问题 Android Studio 3.0.1的安装和配置问题 求大神临幸小弟的问题? 如何将MP3文件打包到android APK中? 背景 不能全屏
你可以发送一个字节流给对方,一次也可以发送多个参数,只要双方遵循同一个协议就好了,也就是对方收到以后知道怎么把这些参数提取出来。
这就是一个最简单的协议。你还可以把协议定的复杂和严谨一些。
其实你将需要发送的对象类进行序列化,implements Serializable
然后调用writeObject(object)接收方直接强转为对象就行
json.put(key1,value1);
json.put(key2,value2);
socket.getOutputStream().write(json.toString().getBytes());
其实你将需要发送的对象类进行序列化,implements Serializable
然后调用writeObject(object)接收方直接强转为对象就行
如果我想用android的内部类我该怎么用呢?比如我想用MotionEvent类。
其实你将需要发送的对象类进行序列化,implements Serializable
然后调用writeObject(object)接收方直接强转为对象就行
喂喂喂,回答我下啊。
其实你将需要发送的对象类进行序列化,implements Serializable
然后调用writeObject(object)接收方直接强转为对象就行
如果我想用android的内部类我该怎么用呢?比如我想用MotionEvent类。
那肯定不行....
其实你将需要发送的对象类进行序列化,implements Serializable
然后调用writeObject(object)接收方直接强转为对象就行
如果我想用android的内部类我该怎么用呢?比如我想用MotionEvent类。
那肯定不行....
public boolean onTouchEvent(MotionEvent event){
}
比如我想把event这个变量传到服务端那边没有办法吗?
其实你将需要发送的对象类进行序列化,implements Serializable
然后调用writeObject(object)接收方直接强转为对象就行
如果我想用android的内部类我该怎么用呢?比如我想用MotionEvent类。
那肯定不行....
public boolean onTouchEvent(MotionEvent event){
}
比如我想把event这个变量传到服务端那边没有办法吗?
你应该是想得到event里面的x y坐标值吧,自己重新写一个类并序列化,把需要的值在你的类中重新包装下..然后发去
你有没有什么socket通信用Serializable的例子吗?我这边接收端说没有找到类。不知道怎么回事。
01-03 07:49:46.448: I/dalvikvm(14528): Turning on JNI app bug workarounds for target SDK version 8...
01-03 07:49:46.578: I/System.out(14528): 开始服务
01-03 07:50:18.038: D/ViewRootImpl(14708): pckname = study.message.receive
01-03 07:50:18.048: I/System.out(14708): 开始服务
01-03 07:52:08.608: I/System.out(14708): S: Error
01-03 07:52:08.608: W/System.err(14708): java.lang.ClassNotFoundException: com.example.touchevent.SaveInformation
01-03 07:52:08.618: W/System.err(14708): at java.lang.Class.classForName(Native Method)
01-03 07:52:08.618: W/System.err(14708): at java.lang.Class.forName(Class.java:217)
01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:2297)
01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.readNewClassDesc(ObjectInputStream.java:1656)
01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:683)
01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1799)
01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1999)
01-03 07:52:08.618: W/System.err(14708): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1956)
01-03 07:52:08.618: W/System.err(14708): at study.message.receive.Msg_REC_Background$AndroidServer.run(Msg_REC_Background.java:53)
01-03 07:52:08.618: W/System.err(14708): at java.lang.Thread.run(Thread.java:856)
01-03 07:52:08.618: W/System.err(14708): Caused by: java.lang.NoClassDefFoundError: com/example/touchevent/SaveInformation
01-03 07:52:08.618: W/System.err(14708): ... 11 more
01-03 07:52:08.618: W/System.err(14708): Caused by: java.lang.ClassNotFoundException: com.example.touchevent.SaveInformation
01-03 07:52:08.628: W/System.err(14708): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
01-03 07:52:08.628: W/System.err(14708): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
01-03 07:52:08.628: W/System.err(14708): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
01-03 07:52:08.628: W/System.err(14708): ... 11 more
这是发送端的发送代码ObjectOutputStream ops = new ObjectOutputStream(socket.getOutputStream());
ops.writeObject(saveInformation);
这是接收端的接收代码ObjectInputStream ois = new ObjectInputStream(client.getInputStream());
SaveInformation saveInformation = (SaveInformation) ois.readObject();