600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > java基础—网络编程——TCP客户端与服务端交互

java基础—网络编程——TCP客户端与服务端交互

时间:2021-01-06 06:38:20

相关推荐

java基础—网络编程——TCP客户端与服务端交互

import .InetAddress;import .Socket;import .UnknownHostException;import java.io.*;import org.omg.CORBA_2_3.portable.OutputStream;public class ServerSocketDemo {public static void main(String[] args) throws Exception {/*** 客户端(Client)首先与服务端(Server)建立连接,形成通道,然后中,数据就可以在通道之间进行传输,并且单个Server端可以同时与多个Client端建立连接*/System.out.println("客户端启动");System.out.println(InetAddress.getLocalHost().getHostAddress());//192.168.3.4Socket socket = new Socket("192.168.3.4",10002);java.io.OutputStream out = socket.getOutputStream();out.write("我又来了".getBytes());socket.close();}}

import java.io.IOException;import java.io.InputStream;import .ServerSocket;import .Socket;public class ServerSocketDemo2 {public static void main(String[] args) throws Exception {// TODO Auto-generated method stubSystem.out.println("服务端启动");ServerSocket ss = new ServerSocket(10002);socket s = ss.accept();String ip = s.getInetAddress().getHostAddress();//读取客户端的数据InputStream in = s.getInputStream();byte[] buf = new byte[1024];int len = in.read(buf);String text = new String(buf,0,len);System.out.println(ip+" "+text);ss.close();s.close();//TCP协议传输数据必须先开服务端,再开客户端,否则 客户端根本连接不上服务端}}

运行程序:

客户端接收服务端返回的消息

import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import .Socket;import .UnknownHostException;//建立TCP客户端public class ServerSocketDemo3 {public static void main(String[] args ) throws Exception{System.out.println("TCP协议服务端和客户端交互\n客户端启动");//建立TCP客户端Socket socket = new Socket("192.168.3.4",10002);OutputStream out = socket.getOutputStream();out.write("我来了".getBytes());//读取服务端返回的数据InputStream in = socket.getInputStream();byte[] buf = new byte[1024];int len = in.read(buf);String text = new String(buf,0,len);System.out.println("客户端:"+text);socket.close();}}

import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import .ServerSocket;import .Socket;public class ServerSocketDemo4 {public static void main(String[] args) throws Exception {// 建立TCP服务端System.out.println("服务端启动");ServerSocket ss = new ServerSocket(10002);Socket s = ss.accept();String ip = s.getInetAddress().getHostAddress();InputStream in = s.getInputStream();byte[] buf = new byte[1024];int len = in.read(buf);String text = new String(buf,0,len);System.out.println(ip+" "+text);OutputStream out = s.getOutputStream();out.write("数据传输成功".getBytes());s.close();ss.close();}}

客户端输入小写字母,发送到服务端

用血端将小写字母转换成大写字母返回客户端

双窗口

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.io.PrintWriter;import .Socket;import .UnknownHostException;//建立TCP客户端public class ServerSocketDemo3 {public static void main(String[] args ) throws Exception{System.out.println("TCP协议服务端和客户端交互\n客户端启动");//建立TCP客户端Socket socket = new Socket("192.168.3.4",10002);//获取键盘录入的数据BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));//输出流BufferedWriter bfw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));PrintWriter out = new PrintWriter(socket.getOutputStream(),true);String len = null;//读取服务端返回的数据BufferedReader bufin = new BufferedReader(new InputStreamReader(socket.getInputStream()));while((len = bufr.readLine())!=null){if("over".equals(len))break;out.println(len);String s = bufin.readLine();System.out.println(s);}}}

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import .ServerSocket;import .Socket;public class ServerSocketDemo4 {public static void main(String[] args) throws Exception {// 建立TCP服务端System.out.println("服务端启动");ServerSocket ss = new ServerSocket(10002);Socket s = ss.accept();String ip = s.getInetAddress().getHostAddress();BufferedReader bufr = new BufferedReader(new InputStreamReader(s.getInputStream()));PrintWriter out = new PrintWriter(s.getOutputStream(),true);String lin = null;while((lin=bufr.readLine())!=null){System.out.println(lin);out.println(lin.toUpperCase());}s.close();ss.close();}}

通过TCP上传文档:

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import .Socket;//通过Tcp上传图片//客户端public class ServerSocketDemo5 {public static void main(String[] args) throws Exception {String s = "C:\\Users\\Administrator\\Desktop\\测试文件夹\\112.java";TcpReaderFile(s);}private static void TcpReaderFile(String s) throws Exception {// TODO Auto-generated method stubFile file = new File(s);Socket sk = new Socket("192.168.3.4",10007);BufferedReader bfr = new BufferedReader(new InputStreamReader(new FileInputStream(file)));PrintWriter out = new PrintWriter(sk.getOutputStream(),true);BufferedWriter bfw = new BufferedWriter(new OutputStreamWriter(sk.getOutputStream()));String len = null;while((len=bfr.readLine())!=null){out.println(len);}sk.shutdownOutput();BufferedReader bufrd = new BufferedReader(new InputStreamReader(sk.getInputStream()));String str = bufrd.readLine();System.out.println(str);}}

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.io.PrintWriter;import .ServerSocket;import .Socket;//上传文件服务端public class ServerSocketDemo6 {public static void main(String[] args) throws Exception{ServerSocket ss = new ServerSocket(10007);Socket s = ss.accept();BufferedReader bufr = new BufferedReader(new InputStreamReader(s.getInputStream()));BufferedWriter bfwr = new BufferedWriter(new FileWriter("C:\\Users\\Administrator\\Desktop\\测试文件夹\\aaa.txt"));String str = null;while((str=bufr.readLine())!=null){bfwr.write(str);bfwr.newLine();bfwr.flush();}PrintWriter out = new PrintWriter(s.getOutputStream(),true);out.println("上传成功");}}

运行程序

上传mp3

import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import .Socket;//通过Tcp上传图片,mp3//客户端public class ServerSocketDemo5 {public static void main(String[] args) throws Exception {String s = "C:\\Users\\Administrator\\Desktop\\测试文件夹\\凤舞九天.mp3";TcpReaderFile(s);}private static void TcpReaderFile(String s) throws Exception {// TODO Auto-generated method stubFile file = new File(s);Socket sk = new Socket("192.168.3.4",10007);BufferedInputStream bfr = new BufferedInputStream(new FileInputStream(file));BufferedOutputStream bos = new BufferedOutputStream(sk.getOutputStream());byte[] b = new byte[1024];int len = 0;while((len=bfr.read(b))!=-1){bos.write(b);bos.flush();}sk.shutdownOutput();BufferedReader bufrd = new BufferedReader(new InputStreamReader(sk.getInputStream()));String str = bufrd.readLine();System.out.println(str);}}

import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.io.PrintWriter;import .ServerSocket;import .Socket;//上传文件服务端public class ServerSocketDemo6 {public static void main(String[] args) throws Exception{String f = "C:\\Users\\Administrator\\Desktop\\测试文件夹\\aaa.mp3";OutputFile(f);}private static void OutputFile(String f) throws Exception {// TODO Auto-generated method stubFile file = new File(f);ServerSocket ss = new ServerSocket(10007);Socket s = ss.accept();BufferedInputStream bufr = new BufferedInputStream(s.getInputStream());BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(f));byte[] b = new byte[1024];int str = 0;while((str=bufr.read(b))!=-1){bos.write(b);bos.flush();}PrintWriter out = new PrintWriter(s.getOutputStream(),true);out.println("上传成功");}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。