首页 > 代码库 > 客户端socket调用
客户端socket调用
1 import java.net.Socket; 2 import java.io.*; 3 import java.util.Scanner; 4 import java.util.regex.Pattern; 5 import java.util.regex.Matcher; 6 7 class SocketTest 8 { 9 public static void main(String[] args) 10 { 11 Scanner sc=new Scanner(System.in);12 System.out.println("please input ipaddress:");13 boolean isIp=false;14 String strIp="";15 //ip正则匹配16 Pattern pattern=Pattern.compile("((?:(?:25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}(?:25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d))))");17 while(!isIp){18 //System.out.println(isIp); 19 strIp=sc.next(); 20 Matcher matcher=pattern.matcher(strIp);21 //如果输入的数据满足ip格式,继续运行22 if(matcher.matches()){23 isIp=true;24 }25 else{26 System.out.println("the ip is wrong,please input again:");27 }28 } 29 int port=80;30 boolean isNu=false;31 //如果输入的为正确的端口号(整数)继续运行32 while(!isNu){33 try{34 System.out.println("please input port");35 String strPort=sc.next();36 port=Integer.parseInt(strPort);37 isNu=true;38 }catch(Exception ex){39 System.out.println("is not int ,please input agein:");40 }41 }42 43 System.out.println("the ip is :"+strIp);44 System.out.println("the port is :"+port);45 if(strIp!=null&&strIp.length()>0){46 try{47 //通过ip和端口创建socket实例48 Socket socket=new Socket(strIp,port);49 //获取socket的输出流50 OutputStream outputStream=socket.getOutputStream();51 //讲http请求头信息输入至socket输出流中52 PrintWriter out=new PrintWriter(outputStream,true);53 out.println("GET / HTTP/1.1"); //get 请求,获取目录为/ http协议为http 1.154 out.println("Host: localhost:8888");55 out.println("Connection: Close");56 out.println();57 //接收服务端返回的数据流58 BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));59 boolean loop=true;60 StringBuffer sb=new StringBuffer(8096);61 while(loop){62 if ( in.ready() ) {63 int i=0;64 while (i!=-1) {65 i = in.read();66 sb.append((char) i);67 }68 loop = false;69 Thread.currentThread().sleep(50);70 }71 }72 System.out.println(sb.toString());73 socket.close();74 }75 catch (Exception ex) {76 ex.printStackTrace();77 System.out.println(ex.toString());78 }79 }80 }81 }
客户端socket调用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。