1.连接步骤
/**
* Socket套接字实现对话(服务器端与客户端)
* 1.重点:点---点
*
* 1.TCP传输协议
* 通过Socket和ServerSocket对象来实现数据交互
*
* 2.ServerSocket-服务端
*
* 3.Socket----客户端
*
* 4.流程(必须在同一个局域网络中)
*
* (1)服务端
* a.通过ServerSocket来创建服务器,并且在创建时必须要指定端口号.
* b.服务器开启成功后,会等待客户端来连接(此时这个步骤会出现卡顿)
* c.如果某客户端连上了该服务器,
* d.可以接收客户端发送的消息
* e.可以回复给客户端消息
* d.关闭所有资源
*package com.zking.io04.work; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; /** * 服务端 * @author Administrator * */ public class ServerS { public static void main(String[] args) throws Exception { System.out.println("--------------服务器-----------------"); //1.创建服务端 通过ServerSocket ServerSocket ss=new ServerSocket(8778); System.out.println("服务已开启。。。。等待客户端连接!!!"); Socket sk = ss.accept();//阻塞的方法 System.out.println("有一个客户端上线了。。。。"); //接收客户端发送的消息 while(true) { InputStream is = sk.getInputStream(); InputStreamReader isr=new InputStreamReader(is); BufferedReader br=new BufferedReader(isr); //读取一行 String readLine = br.readLine(); System.out.println("客户端说:"+readLine); OutputStream os = sk.getOutputStream(); OutputStreamWriter osw=new OutputStreamWriter(os); BufferedWriter bw=new BufferedWriter(osw); //发送消息 // String content="你好,服务器,我是客户端。我喜欢基督教的"; Scanner scc=new Scanner(System.in); System.out.println("请输入发送的内容:"); String content=scc.next(); bw.write(content); bw.newLine(); bw.flush(); } } }
* (2)客户端
* a.通过Socket来创建客户端,并且在对象上要指定服务器的IP地址以及服务器所对应的端口号
* b.如果成功连上服务器
* c.可以发送消息给服务器
* d.接收服务器发送的消息
* e.关闭所有资源
package com.zking.io04.work; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.InetAddress; import java.net.Socket; import java.util.Scanner; /** * 客户端 * @author Administrator * */ public class Socket01 { public static void main(String[] args) throws Exception { System.out.println("--------------客户端-----------------"); //1.使用Socket创建客户端 Socket sk=new Socket(InetAddress.getByName("127.0.0.1"), 8778); System.out.println("客户端开启,成功连线服务器"); Scanner sc=new Scanner(System.in); //当客户端连上服务器后,发送消息,通过网络流 OutputStream os = sk.getOutputStream(); OutputStreamWriter osw=new OutputStreamWriter(os); BufferedWriter bw=new BufferedWriter(osw); //发送消息 // String content="你好,服务器,我是客户端。我喜欢基督教的"; while(true) { Scanner scc=new Scanner(System.in); System.out.println("请输入发送的内容:"); String content=sc.next(); bw.write(content); bw.newLine(); bw.flush(); // } //接收服务端发送的消息 InputStream is = sk.getInputStream(); InputStreamReader isr=new InputStreamReader(is); BufferedReader br=new BufferedReader(isr); //读取一行 String readLine = br.readLine(); System.out.println("服务端说:"+readLine); } } }