TCP连接并交互
2018-06-18 02:09:07来源:未知 阅读 ()
1. 服务器(一个连接的情况)
package com.machuang.tcp; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class ServerTcp { public static void main(String[] args) throws IOException { // 创建 socket, 指定端口号 ServerSocket server = new ServerSocket(8888); // 等待客户端连接,阻塞式,直到有客户端连接,才会执行该语句并往下执行 Socket socket = server.accept(); // 输出 连接成功 的提示 System.out.println("一个客户端已连接"); /* //// 发送一个数据到客户端 String msg = "欢迎连接"; BufferedWriter bw = new BufferedWriter( new OutputStreamWriter( socket.getOutputStream() ) ); // 写出数据 bw.write(msg); bw.newLine(); // 添加一个换行 bw.flush(); */ // 使用 DataOutputStream 方法发送数据 DataOutputStream dos = new DataOutputStream(socket.getOutputStream()); // 写数据 dos.writeUTF("欢迎连接"); dos.flush(); } }
2. 客户端
package com.machuang.tcp; import java.io.DataInputStream; import java.io.IOException; import java.net.Socket; import java.net.UnknownHostException; public class ClientTcp { public static void main(String[] args) throws UnknownHostException, IOException { // 创建 socket, 需指定服务器地址和端口号 Socket client = new Socket("localhost", 8888); /* //// 接收服务器的数据,注意,使用 Buffered 方法时,是逐行读取 BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream())); String echo = br.readLine(); */ // 使用 DataInputStream 方法接收数据 DataInputStream dis = new DataInputStream(client.getInputStream()); String receivedStr = dis.readUTF(); // 显示接收到的数据 System.out.println(receivedStr); } }
3. 服务器(多个连接的情况)
package com.machuang.tcp; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class ServerTcpMultiConncetion { public static void main(String[] args) throws IOException { // 创建 socket, 指定端口号 ServerSocket server = new ServerSocket(8888); while(true) { // 等待客户端连接,阻塞式,直到有客户端连接,才会执行该语句并往下执行 Socket socket = server.accept(); // 输出 连接成功 的提示 System.out.println("一个客户端已连接"); // 使用 DataOutputStream 方法发送数据 DataOutputStream dos = new DataOutputStream(socket.getOutputStream()); // 写数据 dos.writeUTF("欢迎连接"); dos.flush(); } } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Mybatis 的连接池技术 2020-06-01
- 网络编程杂谈之TCP协议 2020-05-27
- 为什么 TCP 建立连接是三次握手,关闭连接确是四次挥手呢? 2020-05-06
- Tomcat 连接数与线程池详解 2020-04-30
- 解决IDEA使用Spring Initializr创建项目时,无法连接到https 2020-04-22
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash