Java 网络编程之socket实例
2017-07-26 17:59
477 查看
Java中的网络通信是通过Socket来实现的,socket分为ServerSocket和Socket两大类,ServerSocket用于服务端,可以通过accept方法监听请求,监听到请求返回Socket,Socket用于用于完成数据传输,客户端使用Socket发起请求并传输数据。
1.ServerSocket简单示例
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class serversocket { public static void main(String[] args) { ServerSocket server=null; Socket socket=null; BufferedReader in=null; try { //创建一个ServerSocket监听3355端口 server = new ServerSocket(3355); //等待请求 socket=server.accept(); //接受到请求后用socket进行通讯,创建BufferReader用于读取数据 in = new BufferedReader(new InputStreamReader(socket.getInputStream())); //按行读取 String line=in.readLine(); System.out.println("reveivered from client:"+line); //创建PrintWriter用于发送数据 PrintWriter pw = new PrintWriter(socket.getOutputStream()); pw.println("receiverd data:"+line); //发送 pw.flush(); } catch (IOException e) { e.printStackTrace(); }finally{ try{ //从后往前挨个关闭 in.close(); socket.close(); server.close(); }catch(Exception e){ e.printStackTrace(); } } } }
2.Socket简单示例
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import java.util.Scanner; public class socket { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()){ String msg=sc.nextLine(); Socket socket=null; BufferedReader in=null; PrintWriter pw=null; try { //创建一个socket和本机的3355端口连接 socket=new Socket("127.0.0.1",3355); //使用Soket创建PrintWriter和BufferedReader进行读写数据 in = new BufferedReader(new InputStreamReader(socket.getInputStream())); pw = new PrintWriter(socket.getOutputStream()); //发送数据 pw.println(msg); pw.flush(); //接受数据 String line = in.readLine(); System.out.println("received from server:"+line); } catch (IOException e) { e.printStackTrace(); }finally{ //关闭资源 try { pw.close(); in.close(); socket.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
相关文章推荐
- java网络编程实例1——用socket类写http客户端
- 某科学的超 Java网络编程:Socket通信原理及实例学习
- java网络编程【2】 基于Socket的java网络编程(含实例)
- Java网络编程基础教程之Socket入门实例
- java网络编程【2】 基于Socket的java网络编程(含实例)
- Java基于Socket实现网络编程实例详解
- Java socket 入门编程实例
- 利用Socket进行Java网络编程
- 网络编程C#篇(二):Socket无连接简单实例 推荐
- 基于Socket的Java网络编程集粹
- Java网络编程从入门到精通(19):套接字(Socket)的异常
- Socket的java网络编程原理
- Java Socket网络编程五
- Java网络编程从入门到精通(28):获取ServerSocket信息的方法及FTP原理 推荐
- 菜猪的JAVA 网络编程学习之Socket用法详解(上)
- 基于Socket的Java网络编程集粹-Java基础-Java-编程开发
- Java Socket网络编程四
- Java网络编程基础 1 建立一个提供当前时间字符串的ServerSocket
- Java网络编程从入门到精通(19):套接字(Socket)的异常
- 基于Socket的Java网络编程集粹