Java Socket TCP编程
2024-09-20 22:42:47
package com; import java.io.*;
import java.net.ServerSocket;
import java.net.Socket; /**
* Socket Server
* <p>
* Created by Administrator on 2018/5/2.
*/
public class Server { public static void main(String[] args) { try { // 1.初始化服务端socket连接,并监听8888端口的socket请求
ServerSocket serverSocket = new ServerSocket(8888); System.out.println("****** I am Server, now begin to wait the client ******");
Socket socket = serverSocket.accept(); // 2.server接收消息
InputStream inputStream = socket.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String str;
if ((str = bufferedReader.readLine()) != null) {
System.out.println("I am Server, now get message from Client: " + str);
}
socket.shutdownInput(); // 3.server发送消息
OutputStream outputStream = socket.getOutputStream();
PrintWriter printWriter = new PrintWriter(outputStream);
printWriter.write("[welcome to you!]");
printWriter.flush(); // 4.关闭资源
printWriter.close();
outputStream.close(); bufferedReader.close();
inputStreamReader.close();
inputStream.close();
socket.close();
serverSocket.close(); } catch (IOException e) {
e.printStackTrace();
}
} }
package com; import java.io.*;
import java.net.Socket; /**
* Socket Client
* <p>
* Created by Administrator on 2018/5/2.
*/
public class Client { public static void main(String[] args) { try { // 1.初始化客户端socket连接
Socket socket = new Socket("localhost", 8888); // 2.client发送消息
OutputStream outputStream = socket.getOutputStream();
PrintWriter printWriter = new PrintWriter(outputStream);
printWriter.write("[name:tom, pwd:123]");
printWriter.flush();
socket.shutdownOutput(); // 3.client接收消息
InputStream inputStream = socket.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str;
while ((str = bufferedReader.readLine()) != null) {
System.out.println("I am Client, now get message from Server:" + str);
} // 4.关闭资源
bufferedReader.close();
inputStreamReader.close();
inputStream.close(); printWriter.close();
outputStream.close();
socket.close(); } catch (IOException e) {
e.printStackTrace();
}
}
}
最新文章
- Android接入支付宝和银联
- MyEclipse 自带的TomCat 新增部署的时候不显示 Deploy Location
- 正确的选择log级别
- 一个Public的字段引起的,谈谈继承中的new
- Bower =>; 前端开发也有包管理器
- 可以伸缩的查询面板 (searchBar)
- wps操作记录
- iOS判断并使用百度地图 高德地图 导航 (使用URI,不集成sdk)
- QMessageBox 用法
- Jrebel 6.2.1破解
- TCP 连接中的TIME_WAIT
- Java Me-List控件的用法案例
- 在JLabel上显示图片,并且图片自适应JLabel的大小
- flask笔记一
- MySQL 性能优化的最佳20多条经验分享(三)(转)
- 一个HTTP Basic Authentication引发的异常
- Spring mybatis源码学习指引目录
- Sublime text使用快捷键
- sqlzoo:5
- CF741 D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths