Java 网络编程Tcp
Java 利用网络编程有两种方式:一种是Tcp,另一种是Udp
下面我用Tcp编程举例:
/* 编程实现: 1.使用TCP协议发送数据,TCP协议接收数据 2.使用TCP协议发送数据(键盘录入),TCP协议接收数据,并将其显示在控制台 3.使用TCP协议发送数据(文本文件),TCP协议接收数据,并将其显示在控制台 4.使用TCP协议发送数据(键盘录入),TCP协议接收数据,并将数据写入文本文件 5.使用TCP协议发送数据(文本文件),TCP协议接收数据,并将数据写入文本文件 */ import java.net.Socket; import java.io.OutputStream; import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.BufferedWriter; import java.io.OutputStreamWriter; import java.io.FileReader; import java.io.InputStream; class TcpSendDemo{ public static void main(String[] args) throws IOException{ //method1(); //method2(); //method3(); //method4(); method5(); } //1.使用TCP协议发送数据,TCP协议接收数据 public static void method1() throws IOException{ Socket s = new Socket("202.193.52.73",8888); OutputStream os = s.getOutputStream(); os.write("hello,Tcp,我来了".getBytes()); InputStream is = s.getInputStream(); byte[] bys = new byte[1024]; int len = is.read(bys); System.out.println(new String(bys,0,len)); //os.close(); s.close(); } //2.使用TCP协议发送数据(键盘录入),TCP协议接收数据,并将其显示在控制台 public static void method2() throws IOException{ Socket s = new Socket("202.193.52.73",8888); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); String line = null; while((line = br.readLine()) != null){ if(line.equals("886")){ break; } bw.write(line); bw.newLine(); bw.flush(); } br.close(); //BufferedReader br1 = new BufferedReader(new InputStreamReader(s.getInputStream())); //String line1 = null; //String line1 = br1.readLine(); //while((line1 = br1.readLine()) != null){ //System.out.println(line1); //} s.close(); } //3.使用TCP协议发送数据(文本文件),TCP协议接收数据,并将其显示在控制台 public static void method3() throws IOException{ Socket s = new Socket("202.193.52.73",8888); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); BufferedReader br = new BufferedReader(new FileReader("E:\\PS.txt")); String line = null; while((line = br.readLine()) != null){ bw.write(line); bw.newLine(); bw.flush(); } s.shutdownOutput(); BufferedReader br1 = new BufferedReader(new InputStreamReader(s.getInputStream())); System.out.println(br1.readLine()); br.close(); bw.close(); } //4.使用TCP协议发送数据(键盘录入),TCP协议接收数据,并将数据写入文本文件 public static void method4() throws IOException{ Socket s = new Socket("202.193.52.73",8888); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); String line = null; while((line = br.readLine()) != null){ if(line.equals("886")){ break; } bw.write(line); bw.newLine(); bw.flush(); } s.shutdownOutput(); BufferedReader br1 = new BufferedReader(new InputStreamReader(s.getInputStream())); System.out.println(br1.readLine()); bw.close(); s.close(); } //5.使用TCP协议发送数据(文本文件),TCP协议接收数据,并将数据写入文本文件 public static void method5() throws IOException{ Socket s = new Socket("202.193.52.73",8888); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); BufferedReader br = new BufferedReader(new FileReader("E:\\PS.txt")); String line = null; while((line = br.readLine()) != null){ bw.write(line); bw.newLine(); bw.flush(); } s.shutdownOutput(); BufferedReader br1 = new BufferedReader(new InputStreamReader(s.getInputStream())); System.out.println(br1.readLine()); //bw.write("over"); //bw.newLine(); //bw.flush(); br.close(); bw.close(); } }