java中socket不断接收数据问题
发布网友
发布时间:2022-04-22 06:22
我来回答
共3个回答
热心网友
时间:2023-09-26 10:04
其实,方法有几个。
方法一:
定义一个MsgObject的消息类,里面存放的为发送的消息内容(记得序列化)。然后再用ObjectOutputStream来把该类弄成一个输出流发送出去。然后客户端就用
ObjectInputStream in=new ObjectInputStream(socket.getInputStream());
MsgObject obj=(MsgObject)in.getObject();就能够得到一个消息类对象了。。
不会的就追问下,我之前是这样做过的。
方法二:
如果你会json格式,那么就更加简单了,直接把你的消息放到json数组里面。。
这种方法没试过,我近期使用json过于频繁才突然记得的,如果你有兴趣用这个方法,可以一起讨论下。
方法三:
弄多个输入输出流,但是这个不建议追问老兄,我是要接收七条数据,我上面说得应该还蛮清楚的吧-.-
追答
这有多难啊,朋友
热心网友
时间:2023-09-26 10:04
开一个线程专门用来接收信息 用socket的read方法 此方法为阻塞式 然后用一个死循环不断接收
public class ThreadTest extends Thread { //线程类
public void run() { //run方法
while(true) { //用死循环不断接收
socket.read(); //此方法为阻塞式,当有信息发送过来时就往下执行否则一直等待
//然后做你需要的相应处理
}
}
}
提供一个思路 具体实现还需自己多查查api 不懂可以追问追问貌似我点不出socket的read()方法-.-
追答不好意思 不是socket的 是socket.getInputStream().read();
热心网友
时间:2023-09-26 10:05
你把这七条数据全都封装成一条再发送不可以吗?