Java 网络编程之socket实例

来源:互联网 发布:mac 地址 修改 安卓 编辑:程序博客网 时间:2024/06/05 21:17

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 blocke.printStackTrace();} }}}}




原创粉丝点击