关羽java的socket传输字符串数组问题
我想用Socket传输一个字符串数组,BufferedReader又没有相关构造,getBytes()方法又行不通,请问有什么方法么,最好能有简单的代码,谢谢注意啊,是字...
我想用Socket传输一个字符串数组,BufferedReader又没有相关构造,getBytes()方法又行不通,请问有什么方法么,最好能有简单的代码,谢谢
注意啊,是字符串数组,不是字符串饿- - 展开
注意啊,是字符串数组,不是字符串饿- - 展开
4个回答
展开全部
给你一段代码,不知道能不能解决你的问题
可以直接传字符串,也可以将字符串数组封装对象进行传输。
服务端代码:
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();
}
}
可以直接传字符串,也可以将字符串数组封装对象进行传输。
服务端代码:
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();
}
}
展开全部
java中socket是向某个特定地址的端口发送流(字符串通过getBytes方法转换成流)。
public static void main(String[] args) {
Socket s;
try {
s = new Socket("localhost",9091);
DataOutputStream out = new DataOutputStream(s.getOutputStream());
out.write("aslkjlksjdsad".getBytes());
out.flush();
out.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
备注:有发送的话,就需要相应的地址和端口上做一个接收的,来实现交互。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接传数组?木听说。
可以在client和server端建立一种协议,如按照遇到什么样子的字符时进行分割,那么在客户端就能够将数组拼接字符串再传输。
或者将数组封装到一个类中,然后将类进行序列化后传输。
可以在client和server端建立一种协议,如按照遇到什么样子的字符时进行分割,那么在客户端就能够将数组拼接字符串再传输。
或者将数组封装到一个类中,然后将类进行序列化后传输。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
循环按串的下标传
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询