
求大神点拨一个Java Socket编程中的“一个线程内,是否能够写出多条数据让对面的通信端点收到”?
大神,小弟是采用TCP/IP协议,在通信的客户端,向对面的服务端在客户端的一个子线程中写出多条Socket通信报文,客户端写出语句所在类源代码如下:publicclass...
大神,小弟是采用TCP/IP协议,在通信的客户端,向对面的服务端在客户端的一个子线程中写出多条Socket通信报文,客户端写出语句所在类源代码如下:public class ClientWriteStr { public ClientWriteStr() { // TODO Auto-generated constructor stub SocketClient so = new SocketClient(Recv.Y_PORT_SERVER,9999); WriteStr obj = new WriteStr(so.getS(),"HelloWorld"); obj.start(); WriteStr obj0 = new WriteStr(so.getS(),"HelloWorld0"); obj0.start(); WriteStr obj1 = new WriteStr(so.getS(),"HelloWorld1"); obj1.start(); try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { // TODO Auto-generated method stub new ClientWriteStr(); }}下面是我的服务端接收语句所在类型的源代码:import java.io.IOException;import java.net.Socket;public class ServerAcceptStr { public ServerAcceptStr() { // TODO Auto-generated constructor stub SocketServer sso = new SocketServer(9999); Socket s = sso.nextSocket(); try { String str = sso.read(s); System.out.println("Sport print Data:|||||||||:"+str); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { // TODO Auto-generated method stub new ServerAcceptStr(); }} 上面两个类中的“WriteStr类”的源代码如下: import java.io.IOException;import java.io.PrintWriter;import java.net.Socket; public class WriteStr extends Thread{ private Socket s = null; PrintWriter out = null; String str = null; public WriteStr(Socket s,String chatInfo){ this.s = s; try { out = new PrintWriter(this.s.getOutputStream()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } this.str=chatInfo; synchronized(out){ out.println(this.str); out.flush(); } } } 打印的结果是: 可以看到,打印结果少了一句客户端中的“Hello World0”和“Hello World1”。 求高手点拨: 这里的Socket通信原理,应该是什么原因导致了我的服务端接收客户端的通信报文丢失了“Hello World0”与“Hello World1”? 这里的Socket通信原理,应该是什么原理? 感谢高手的过目!! 小弟在线等。
展开
2017-03-14
展开全部
“一个线程内,是否能够写出多条数据让对面的通信端点收到”?
是肯定可以的
~~~~~~~~~~~
是肯定可以的
~~~~~~~~~~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询