java中的网络支持-socket编程
来源:互联网 发布:mac优酷播放量 编辑:程序博客网 时间:2024/05/04 20:38
服务端执行server.accept方法以后,会处于阻塞状态,也就是直到启动了客户端,从客户端传来信息才会继续运行下去,而客户端在启动后也处于阻塞状态,直到服务端给它回应才会继续运行下去
先运行服务器后,控制台不会有任何输出
运行客户端以后,服务器端才会输出“一个客户端建立连接”
然后客户端输出 ”欢迎使用“
服务端:
/** 必须先启动服务器 后连接1、创建服务器 指定端口 ServerSocket(int port) 2、接收客户端连接 3、发送数据+接收数据* */public class Server {/** * @param args * @throws IOException */public static void main(String[] args) throws IOException {//1、创建服务器 指定端口 ServerSocket(int port) ServerSocket server = new ServerSocket(8888);//2、接收客户端连接 阻塞式Socket socket =server.accept();System.out.println("一个客户端建立连接");//3、发送数据String msg ="欢迎使用";//输出流/*BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));bw.write(msg);bw.newLine();bw.flush();*/DataOutputStream dos = new DataOutputStream(socket.getOutputStream());dos.writeUTF(msg);dos.flush();}}
客户端:
/** 1、创建客户端 必须指定服务器+端口 此时就在连接 Socket(String host, int port) 2、接收数据 +发送数据 */public class Client {/** * @param args * @throws IOException * @throws UnknownHostException */public static void main(String[] args) throws UnknownHostException, IOException {//1、创建客户端 必须指定服务器+端口 此时就在连接Socket client = new Socket("localhost",8888);//2、接收数据/*BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));String echo =br.readLine(); //阻塞式方法System.out.println(echo);*/DataInputStream dis = new DataInputStream(client.getInputStream());String echo = dis.readUTF();System.out.println(echo);}}
这里的服务器只能接受一个客户端的链接,
要实现多客户端的链接也很简单
只要把接受数据代码块放在死循环中就好了
public class MultiServer {/** * @param args * @throws IOException */public static void main(String[] args) throws IOException {//1、创建服务器 指定端口 ServerSocket(int port) ServerSocket server = new ServerSocket(8888);//2、接收客户端连接 阻塞式while(true){ //死循环 一个accept()一个客户端Socket socket =server.accept();System.out.println("一个客户端建立连接");//3、发送数据String msg ="欢迎使用";//输出流DataOutputStream dos = new DataOutputStream(socket.getOutputStream());dos.writeUTF(msg);dos.flush();}}}
0 0
- java中的网络支持-socket编程
- Java中的网络编程—Socket通信
- Java网络编程--Socket
- java 网络编程socket
- Java网络编程-Socket
- Java Socket网络编程
- Java Socket网络编程
- Java Socket网络编程
- java网络编程socket
- java网络编程socket
- Java Socket网络编程
- java Socket网络编程
- java Socket网络编程
- java socket网络编程
- Java Socket网络编程
- java Socket网络编程
- Socket--java网络编程
- java socket网络编程
- JS调用函数的5中方式
- mysql安装
- 迷茫
- ARM汇编指令集
- C/C++ 输出乘法口诀表
- java中的网络支持-socket编程
- 感应数显测电笔的使用方法
- apply实现继承
- interview-prepare
- 文章标题
- domal
- 95. Unique Binary Search Trees II
- XML学習入門
- Retrofit官网文档评注