java Tcp通信客户端与服务器端实例
本文实例讲述了javaTcp通信客户端与服务器端。分享给大家供大家参考,具体如下:
由服务器端发送数据
服务器端:
importjava.io.*; importjava.net.*; publicclassTestSocket{ publicstaticvoidmain(String[]args){ try{ ServerSocketss=newServerSocket(8888); while(true){ Sockets=ss.accept(); OutputStreamos=s.getOutputStream(); DataOutputStreamdos=newDataOutputStream(os); dos.writeUTF("hello"+s.getInetAddress()+"port"+s.getPort()+"beybye"); dos.close(); //os.flush(); os.close(); //s.close(); } }catch(IOExceptione){ e.printStackTrace(); System.out.println("thereisawrong"); } } }
用户端:
importjava.io.*; importjava.net.*; publicclassTestClient{ publicstaticvoidmain(String[]args){ try{ Sockets=newSocket("127.0.0.1",8888); DataInputStreamdis=newDataInputStream(s.getInputStream()); System.out.println(dis.readUTF()); s.close(); dis.close(); }catch(Exceptione){ e.printStackTrace(); } } }
无论是客户端还是服务器端都可以收发数据。
交互型
用户端
importjava.io.*; importjava.net.*; publicclassTestClient2{ publicstaticvoidmain(String[]args){ try{ Sockets=newSocket("127.0.0.1",8886); DataOutputStreamdos=newDataOutputStream(s.getOutputStream()); DataInputStreamdis=newDataInputStream(s.getInputStream()); System.out.println(dis.readUTF()); dos.writeUTF("hey"); Stringstr=null; if((str=dis.readUTF())!=null){ System.out.println(str); } s.close(); dis.close(); dos.close(); }catch(Exceptione){ e.printStackTrace(); } } }
服务器端:
publicclassTestServer2{ publicstaticvoidmain(String[]args){ InputStreamin=null; OutputStreamout=null; try{ ServerSocketss=newServerSocket(8886); while(true){ Sockets=ss.accept(); in=s.getInputStream(); out=s.getOutputStream(); DataOutputStreamdos=newDataOutputStream(s.getOutputStream()); DataInputStreamdis=newDataInputStream(s.getInputStream()); Stringstr=null; if((str=dis.readUTF())!=null){ System.out.println(str); System.out.println("form"+s.getInetAddress()); System.out.println("port"+s.getPort()); //dos.writeUTF("hello"+s.getInetAddress()+"port"+s.getPort()+"beybye"); } dos.writeUTF("hihello"); dis.close(); dos.close(); s.close(); } }catch(IOExceptione){ e.printStackTrace(); System.out.println("thereisawrong"); } } }
更多关于java相关内容感兴趣的读者可查看本站专题:《JavaSocket编程技巧总结》、《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。