我使用如下方法来接收客户端发来的字符串:bis = new BufferedInputStream(socket.getInputStream());
byte[] b = new byte[1024];
int i = bis.read(b);
String str = new String(b, 0, i, "UTF-8");
当客户端连续发送两次字符串,比如DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
dos.write(b1);
dos.write(b2);
则我的服务器端收到的会是b1+b2(也就是两个字符串连起来了)。
有什么办法能保证两个字符串在服务端收到的还是两个字符串吗?
因为之后客户端要用C#来编写,所以我这里是不是只能用byte来接收了?
byte[] b = new byte[1024];
int i = bis.read(b);
String str = new String(b, 0, i, "UTF-8");
当客户端连续发送两次字符串,比如DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
dos.write(b1);
dos.write(b2);
则我的服务器端收到的会是b1+b2(也就是两个字符串连起来了)。
有什么办法能保证两个字符串在服务端收到的还是两个字符串吗?
因为之后客户端要用C#来编写,所以我这里是不是只能用byte来接收了?
解决方案 »
- Java通过反射实例化泛型类的问题
- Java有没有类似Jquery.ui那样的控件包
- 问一个XML解析的问题。
- The method addMouseListener(MouseListener) in the type Component is not applicab
- 鼠标双击的问题!!!
- 在解析的时候获取不到xml配置文件相对路径
- java程序的运行错误!!
- 怎样用验证一个字符是否在arraylist中存在(在线等)
- 《Java就业培训教程》为什么敢叫板“就业”!!
- 小问题。。
- JAVA中 THIS关键词的作用
- 在eclipse运行不出来下面的代码,请高人指点一下,小弟初学,迷茫中,照着书打的,这个是制作一个固定资产的添加界面
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
dos.write(b1);
dos.flush();
dos.write(b2);
dos.flush();