java笔记(七)ServerSocket跟Socket
来源:互联网 发布:影子网络真的很恐怖吗 编辑:程序博客网 时间:2024/05/22 00:32
一言一语客户端
服务端ServerScoket
import java.io.IOException;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import java.util.Scanner;public class ServerSocketDemo { public static void Server(){ try { System.out.println("服务器已启动,监听6666端口"); //开放端口,监听 ServerSocket serverSocket = new ServerSocket(6666); //等待客户端 Socket socket = serverSocket.accept(); //服务端拿到客户端的输入,getInputStrean Scanner clientScanner = new Scanner(socket.getInputStream()); //服务端输出到客户端getOutputStream PrintWriter pw = new PrintWriter(socket.getOutputStream()); //发送给客户端一个欢迎语 pw.println("欢迎!"); pw.flush(); //服务端的输入流,服务端Scanner Scanner keybordScanner = new Scanner(System.in); //接收客户端的请求,循环接收。每接收一行,就从键盘获取一条语句,再发给客户端 while(true){ String clinetSay = clientScanner.nextLine(); if(!clinetSay.equals("")){ System.out.println("客户端说:"+clinetSay); } if(clinetSay.equals("exit")){ break; } System.out.println("请输入:"); //从键盘接收一条语句, String serverSay = keybordScanner.nextLine(); //发送给服务端 pw.println(serverSay); pw.flush(); }// 关闭所有 serverSocket.close(); socket.close(); keybordScanner.close(); clientScanner.close(); pw.close(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { Server(); }}
客户端Client
import java.io.IOException;import java.io.PrintWriter;import java.net.Socket;import java.util.Scanner;public class ClientSocketDemo { public static void test(){ try { //通过IP跟端口号连接服务端 Socket socket = new Socket("192.168.13.13",6666); //客户端拿到服务端的输入,getInputStream Scanner s = new Scanner(socket.getInputStream()); //客户端输出到服务端,getOutputStream PrintWriter pw = new PrintWriter(socket.getOutputStream()); //接受到服务端发来的信息 System.out.println(s.nextLine()); //服务端的输入流,服务端Scanner Scanner clientScanner = new Scanner(System.in); ////接收服务端的请求,循环接收。每接收一行,就从键盘获取一条语句,再发给服务端 while(true){ System.out.println("请输入:"); String clientSay = clientScanner.nextLine(); //发送给客户端 pw.println(clientSay); pw.flush(); String serverSay = s.nextLine(); System.out.println("服务端说:"+serverSay); } } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { test(); }}
多线程客户端
import java.io.IOException;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import java.util.Scanner;public class ServerThread { public static void Server(){ System.out.println("服务器已启动,监听5555端口"); try { //开放端口并监听 ServerSocket serverSocket = new ServerSocket(5555); while(true){ //等待客户端接入 Socket socket = serverSocket.accept(); //获取客户端连接的IP System.out.println("客户端连接的IP:"+socket.getInetAddress()); SocketThread st = new SocketThread(socket); st.start(); } } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { Server(); }}//外部类继承Threadclass SocketThread extends Thread{ Socket socket; public SocketThread(Socket socket){ this.socket = socket; } // 重写run方法 @Override public void run() { super.run(); } public void getSocket(Socket socket){ this.socket = socket; try { PrintWriter output = new PrintWriter(socket.getOutputStream(),true); Scanner input = new Scanner(socket.getInputStream()); } catch (IOException e) { e.printStackTrace(); } }}
同步处理信息客户端
import java.io.PrintWriter;import java.net.Socket;import java.util.Scanner;public class ClientThread { public static void CilentDemo(){ final PrintWriter output; final Scanner input; try { Socket socket = new Socket("192.168.14.72",8888); input = new Scanner(socket.getInputStream()); output = new PrintWriter(socket.getOutputStream()); final Scanner scanner = new Scanner(System.in); // 发送消息线程 new Thread() { public void run() { try { while (true) { // 从控制台扫描一行数据 String data = scanner.nextLine(); output.println(data); output.flush(); } } catch (Exception e) { e.printStackTrace(); } } }.start(); // 读取消息线程 new Thread() { public void run() { try { while (true) { String data = input.nextLine(); System.out.println(data); } } catch (Exception e) { System.out.println("已断开连接"); } } }.start(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { CilentDemo(); }}
阅读全文
0 0
- java笔记(七)ServerSocket跟Socket
- Java Tcp(Socket、ServerSocket)
- [Java]Socket和ServerSocket学习笔记
- [Java]Socket和ServerSocket学习笔记
- [Java]Socket和ServerSocket学习笔记
- [Java]Socket和ServerSocket学习笔记
- [Java]Socket和ServerSocket学习笔记
- [Java]Socket和ServerSocket学习笔记
- java socket BIO (ServerSocket,Socket,多线程)
- Java网络编程(ServerSocket和Socket)
- Java Socket(二) ServerSocket应用
- Java Socket和ServerSocket
- Java ServerSocket Socket
- [Java]Socket和ServerSocket
- Socket和ServerSocket学习笔记
- Socket和ServerSocket学习笔记
- Socket和ServerSocket学习笔记
- Socket和ServerSocket学习笔记
- java解析HL7协议报文工具(v24版)
- Window下python 2.73安装pip
- Directx9学习(八)初识texture(3)
- haoi2013软件安装解题报告
- Over子句开窗函数
- java笔记(七)ServerSocket跟Socket
- 小试牛刀
- Devexpress:在GridControl中使用BindingList
- 解决Hibernate 注解在属性上 ,多对一,一对一懒加载 当调用one那一方getId 也会查数据库的问题
- linux下搭建git服务器全过程
- javascript深入理解js闭包
- WebRTC中RTP/RTCP协议实现分析
- 变态跳台阶java实现
- DBSCAN(基于高密度聚类的)算法