使用TCP协议实现客户端和服务器数据传输

来源:互联网 发布:js引用高德地图 编辑:程序博客网 时间:2024/05/22 02:21
/*客户端和服务端互访,传输字节流*/import java.net.*;import java.io.*;class TCPClient2 {public static void main(String[] args) throws Exception{Socket s=new Socket ("192.168.191.1",10004);OutputStream out=s.getOutputStream();out.write("server nihao".getBytes());InputStream in=s.getInputStream();byte[] buf=new byte[1024];int len=in.read(buf);System.out.println(new String (buf,0,len));s.close();}}class TCPServer2 {public static void main(String[] args) throws Exception{ServerSocket ss=new ServerSocket(10004);Socket s=ss.accept();String ip=s.getInetAddress().getHostAddress();System.out.println(ip+"...connected");InputStream in=s.getInputStream();byte[] buf=new byte[1024];int len=in.read(buf);System.out.println(new String (buf,0,len)); OutputStream out=s.getOutputStream();Thread.sleep(10000);out.write("shoudao dajiahao".getBytes());s.close();}}
/*建立文本转换服务器:客户端发送文本给服务器,服务器将文本转换成大写返回给服务端客户端可以不断进行文本转换,输入over时结束*//*客户端:IO技术源:键盘录入目的:网络输出流操作的是文本数据,可以选择字符流步骤:1,建立服务2,获取键盘录入3,将数据发给服务端4,获取服务端返回的大写数据5,结束,关资源*/import java.io.*;import java.net.*;class  TransClient{public static void main(String[] args) throws Exception{Socket s=new Socket ("219.245.124.44",10005);//读取键盘数据,用转换流将System.in读取的键盘得到的字节流转换为字符流BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));//将数据写入到socket输出流,发给服务端BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));//socket读取流,读取服务端返回的数据BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));String line=null;while((line=bufr.readLine())!=null){if("over".equals(line))break;bufOut.write(line);bufOut.newLine();bufOut.flush();String str=bufIn.readLine();System.out.println("server:"+str);}bufr.close();s.close();}}/*服务端:源:socket读取流目的:socket输出流*/class  TransServer{public static void main(String[] args) throws Exception{ServerSocket ss=new ServerSocket(10005);Socket s=ss.accept();String ip=s.getInetAddress().getHostAddress();System.out.println(ip+"...connected");BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));String line=null;while((line=bufIn.readLine())!=null){bufOut.write(line.toUpperCase());bufOut.newLine();bufOut.flush();}s.close();ss.close();}}



阅读全文
0 0