黑马程序员技术交流社区
标题:
关于socket传送数据问题
[打印本页]
作者:
刘小峰
时间:
2011-12-29 21:47
标题:
关于socket传送数据问题
本帖最后由 流氓l老醯 于 2011-12-30 13:46 编辑
怎么用Socket传送一个String型的数组啊,BufferedReader好像不行
作者:
冯祖焱
时间:
2011-12-29 21:53
本帖最后由 冯祖焱 于 2011-12-29 21:54 编辑
String[] strs = new String[] { "str1", "str2" };
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
for(String str:strs){
bw.write(str);
bw.newLine();
bw.flush();
}
复制代码
作者:
lvwenwen88
时间:
2011-12-29 23:10
给你一段代码,不知道能不能解决你的问题
可以直接传字符串,也可以将字符串数组封装对象进行传输。
服务端代码:
import java.io.ObjectInputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
public static void main(String[] args) throws Exception{
ServerSocket ss = new ServerSocket(9091);
Socket s = ss.accept();
System.out.println("new connection");
ObjectInputStream oi = new ObjectInputStream(s.getInputStream());
String [] arr = (String[]) oi.readObject();
System.out.println(arr[0] + arr[1]);
}
}
客户端代码:
import java.io.ObjectOutputStream;
import java.net.Socket;
public class Mysocket {
public static void main(String[] args) throws Exception {
Socket s = new Socket("localhost",9091);
ObjectOutputStream out = new ObjectOutputStream(s.getOutputStream());
out.writeObject(new String[]{"123","232"});
out.flush();
out.close();
}
}
作者:
罗全涛
时间:
2011-12-30 00:20
目前我也在看这个网络的视频,DatagramPacket在封包的时侯用的都是byte[]字节数组,
可以将你要发送的数据getBytes[]将它变成字节数组,再进行打包,发送。
作者:
马伟奇
时间:
2011-12-30 00:47
很简单:比如:
String s="你好,我是好人".getBytes();
把字符串变成字节就可以传输了
作者:
刘小峰
时间:
2011-12-30 13:45
多谢各位啦{:soso_e183:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2