扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
例子是学习编程的法宝。你在学习java Socket 吗?看看下面的这个例子吧!
实现Client端功能的ClientApp.java原文件:
import java.net.*; import java.io.*; import java.lang.*; public class ClientApp { public static void main(String args[]) { try { //创建通讯并且和主机Rock连接 Socket cSocket=new Socket("192.168.100.188",8018); //打开这个Socket的输入/输出流 OutputStream os=cSocket.getOutputStream(); DataInputStream is=new DataInputStream(cSocket.getInputStream()); int c; boolean flag=true; String responseline; while(flag) { //从标准输入输出接受字符并且写如系统 while((c=System.in.read())!=-1) { os.write((byte)c); if(c==''\n'') { os.flush(); //将程序阻塞,直到回答信息被收到后将他们在标准输出上显示出来 responseline=is.readLine(); System.out.println("Message is:"+responseline); } } } os.close(); is.close(); cSocket.close(); } catch(Exception e) { System.out.println("Exception :"+ e.getMessage()); } } } |
实现Server端功能的ServerApp.java原文件:
import java.net.*; import java.io.*; public class ServerApp { public static void main(String args[]) { try { boolean flag=true; Socket clientSocket=null; String inputLine; int c; ServerSocket sSocket=new ServerSocket(8018); System.out.println("Server listen on:"+sSocket.getLocalPort()); while(flag) { clientSocket=sSocket.accept(); DataInputStream is= new DataInputStream(new BufferedInputStream(clientSocket.getInputStream())); OutputStream os=clientSocket.getOutputStream(); while((inputLine=is.readLine())!=null) { //当客户端输入stop的时候服务器程序运行终止! if(inputLine.equals("stop")) { flag=false; break; } else { System.out.println(inputLine); while((c=System.in.read())!=-1) { os.write((byte)c); if(c==''\n'') { os.flush(); //将信息发送到客户端 break; } } } } is.close(); os.close(); clientSocket.close(); } sSocket.close(); } catch(Exception e) { System.out.println("Exception :"+ e.getMessage()); } } } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者