网络编程(二)
2016-05-20 09:42
441 查看
客户端
服务端
import java.net.Socket; import java.io.InputStream; import java.io.OutputStream; import java.io.InputStreamReader; import java.io.BufferedReader; //三次握手原理:客户端发送出去的内容会得到服务器端的响应 public class Client{//客户端先输出信息(写:以字符数组发送出去)再获取服务端响应信息(读:通过字符串输入流) public static void main(String []args){ try{ Socket s=new Socket("127.0.0.1",8888); InputStream in=s.getInputStream();//得到字节输入流对象 OutputStream out=s.getOutputStream();//得到字节输出流对象 //给服务器端写内容(请求) String fu=System.getProperty("line.separator"); String str="中华人民共和国"+fu; byte []bs=str.getBytes();//将字符串转换成字节数组 out.write(bs);//通过输出流把字符串信息发送出去 //得到服务器响应(接收服务器上的信息,用字符串输入流Buffered,(需要)这样用户才可以看懂) InputStreamReader read=new InputStreamReader(in); BufferedReader br=new BufferedReader(read); String message=br.readLine(); System.out.println(message); in.close(); out.close(); s.close(); }catch(Exception ex){ System.out.println(ex.getMessage()); } } }
服务端
import java.net.ServerSocket; import java.net.Socket; import java.io.InputStream; import java.io.OutputStream; import java.io.InputStreamReader; import java.io.BufferedReader; public class Server{//服务端先接收客户端信息:字符串输入流(读),再响应客户端信息:通过字符数组写,发送出去信息(写) public static void main(String []args){ try{ //创建Socket服务器对象 ServerSocket ss=new ServerSocket(8888); Socket s=ss.accept();//当请求到来的时候,就是一个Socket InputStream in=s.getInputStream();//获取此套接字的输入流 OutputStream out=s.getOutputStream();//获取此套接字的输出流 //服务器通过字符串输入流获取客户端信息 //创建一个字节数组,每次从输入流中获取大小为1024个字节 //byte []arr=new byte[1024]; //int len=in.read(arr); //String message=new String(arr,0,len); //System.out.println(message); InputStreamReader read=new InputStreamReader(in); BufferedReader br=new BufferedReader(read); String message=br.readLine(); System.out.println(message); //服务器输出信息代码:通过输出流给对方客户端(响应客户顿), String str="万岁。。。"; byte []bs=str.getBytes();//将字符创转换成字节数组 out.write(bs); in.close(); out.close(); }catch(Exception ex){ System.out.println(ex.getMessage()); ex.printStackTrace(); } } }
相关文章推荐
- 检查网络状况
- Http服务压力测试工具Alex(自带Web UI)
- http://my.oschina.net/u/946060/blog/337419
- 防止运营商网络劫持,避免被他人强行插入广告
- Java Json解析,Java Web Json解析,Java Web服务端获取Json数据,客户端通过HTTP获取Json数据
- 哪些网站需要HTTPS(SSL证书)
- VS2010环境下使用VB开发网络编程(WinHttp)
- OSI七层与TCP/IP五层网络架构详解
- 基本TCP套接字编程
- OKHttp源码解析
- HTTP协议:(1)HTTP请求和相关API
- http://douchat.cc/?/article/
- 基于TCP/IP协议的网络攻击
- Font from origin 'http://apps.bdimg.com' has been blocked
- HttpModule与HttpHandler详解
- tomcat添加https服务
- linux 网络管理
- Python网络资源
- Http Test测试工具说明
- java网络编程-基本的网络概念