Socket通信简单例子
来源:互联网 发布:java一年工作经验 编辑:程序博客网 时间:2024/05/22 02:15
示例:
服务端Server:
package com.test;import java.io.IOException;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class Server {public static void main(String[] args) throws IOException {ServerSocket server = new ServerSocket(8888);Socket client = server.accept();OutputStream out = client.getOutputStream();String msg = "Hello";out.write(msg.getBytes());client.close();}}
用程序完成telnet功能:(客户端Client)
package com.test;import java.io.IOException;import java.io.InputStream;import java.net.Socket;import java.net.UnknownHostException;public class Client {public static void main(String[] args) throws UnknownHostException, IOException {Socket socket = new Socket("127.0.0.1", 8888);InputStream in = socket.getInputStream();byte[] buffer = new byte[in.available()];in.read(buffer);String msg = new String(buffer);System.out.println("收到响应信息:"+msg);}}
输出:
收到响应信息:Hello
-------------------------------------------------------------------------------------------------------------------------------------------------------
下面给一个更全面的例子:
Server:
package com.test;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class Server {public static int PORT = 8888;public static void main(String[] args) throws IOException {ServerSocket server = null;Socket client = null;BufferedReader br = null;PrintWriter pw = null;try {server = new ServerSocket(PORT);client = server.accept();br = new BufferedReader(new InputStreamReader(client.getInputStream()));pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(client.getOutputStream())));while (true) {String msg = br.readLine();if (msg.equals("END")) {break;}System.out.println("收到Client消息:" + msg);Thread.sleep(1000);pw.println("Message Received");pw.flush();}} catch (Exception e) {e.printStackTrace();} finally {System.out.println("Server Close.....");try {br.close();pw.close();client.close();server.close();} catch (IOException e) {e.printStackTrace();}}}}
最终输出:
收到Client消息:Msg 0
收到Client消息:Msg 1
收到Client消息:Msg 2
收到Client消息:Msg 3
收到Client消息:Msg 4
收到Client消息:Msg 5
收到Client消息:Msg 6
收到Client消息:Msg 7
收到Client消息:Msg 8
收到Client消息:Msg 9
Server Close.....
Client:
package com.test;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.Socket;import java.net.UnknownHostException;public class Client {public static void main(String[] args) throws UnknownHostException, IOException {Socket socket = null;BufferedReader br = null;PrintWriter pw = null;try {socket = new Socket("127.0.0.1", Server.PORT);System.out.println("Socket = " + socket);br = new BufferedReader(new InputStreamReader(socket.getInputStream()));pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));for (int i = 0; i < 10; i++) {pw.println("Msg " + i);pw.flush();String str = br.readLine();System.out.println("收到Server响应:" + str);}pw.println("END");pw.flush();} catch (Exception e) {e.printStackTrace();} finally {try {System.out.println("Client close......");br.close();pw.close();socket.close();} catch (IOException e) {e.printStackTrace();}}}}最终输出:
Socket = Socket[addr=/127.0.0.1,port=8888,localport=54091]
收到Server响应:Message Received
收到Server响应:Message Received
收到Server响应:Message Received
收到Server响应:Message Received
收到Server响应:Message Received
收到Server响应:Message Received
收到Server响应:Message Received
收到Server响应:Message Received
收到Server响应:Message Received
收到Server响应:Message Received
Client close......
- socket通信简单例子
- Socket通信简单例子
- java socket 简单通信例子
- 一个最简单的Socket通信例子
- 一个最简单的Socket通信例子
- 一个最简单的Socket通信例子
- Java Socket通信的简单例子
- socket的TCP通信简单例子
- socket的UDP通信简单例子
- Flex 与 C# socket 通信(最简单的例子)
- C# Socket简单例子(服务器与客户端通信)
- Linux下两个程序进行socket通信的简单例子
- [转]C/S 架构的简单Socket 通信的例子
- marsing linux下socket通信,server和client简单例子
- C# Socket简单例子(服务器与客户端通信)
- 一个最简单的socket通信的例子
- linux下socket通信,server和client简单例子
- Linux下两个程序进行socket通信的简单例子
- poj2411--Mondriaan's Dream(状压dp+dfs)
- onunload-javascript
- WEB测试总结
- django extjs5 交互例子
- 动态规划-二维背包(1)
- Socket通信简单例子
- 视力减退,3招改善你的”马虎眼“
- plsql developer工具常用设置
- poker网络 -2
- Java学习的级别
- How to Get the Frequency Table of a Categorical Variable as a Data Frame in R
- Linux在C语言下的时区设置与修改(一)
- OC语言(二)
- QT5 drag and drop