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();
}
}
}

最新文章

  1. Android接入支付宝和银联
  2. MyEclipse 自带的TomCat 新增部署的时候不显示 Deploy Location
  3. 正确的选择log级别
  4. 一个Public的字段引起的,谈谈继承中的new
  5. Bower =&gt; 前端开发也有包管理器
  6. 可以伸缩的查询面板 (searchBar)
  7. wps操作记录
  8. iOS判断并使用百度地图 高德地图 导航 (使用URI,不集成sdk)
  9. QMessageBox 用法
  10. Jrebel 6.2.1破解
  11. TCP 连接中的TIME_WAIT
  12. Java Me-List控件的用法案例
  13. 在JLabel上显示图片,并且图片自适应JLabel的大小
  14. flask笔记一
  15. MySQL 性能优化的最佳20多条经验分享(三)(转)
  16. 一个HTTP Basic Authentication引发的异常
  17. Spring mybatis源码学习指引目录
  18. Sublime text使用快捷键
  19. sqlzoo:5
  20. CF741 D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths

热门文章

  1. 设计模式C++实现
  2. 【RL系列】从蒙特卡罗方法步入真正的强化学习
  3. Paper Reading - Deep Captioning with Multimodal Recurrent Neural Networks ( m-RNN ) ( ICLR 2015 ) ★
  4. ubuntu 设置全局代理
  5. hbase中balance机制
  6. php分页类学习
  7. pygame (1) 移动小乌龟
  8. Asphalting Roads(翻译!)
  9. win10自带中文输入法的用户体验
  10. Macbook Pro开机黑屏了。