两台计算机连接通信
两台计算机进行连接,总有一台服务器,一台客户端。
服务器和客户端之间的通信通过端口进行。
例如:
ip地址是 192.168.1.100的服务器通过端口 8080
与ip地址是192.168.1.189的客户端 的1087端口通信
获取本机ip地址
1 | package socket; |
Socket进行网络编程
建立连接
Server端:
1 | package socket; |
Client端
1 | package socket; |
Tips:
- 运行分别运行两个java程序,先开Server,再开Client
- java命令运行class文件,对于含有package的原文件,需要在存放package的根目录执行运行。
java socket.Server
传输数据流
Client使用Scanner读取控制台的输入,然后传送一条数据到Server端。
Server端,用DataInputStream来包裹InputStream:
1 | package socket; |
Client端,使用Scanner来读取控制台的输入:
1 | package socket; |
实现服务器与客户端双重联系
异步通信,要开启两个线程,一发一收。
读线程:
1 | package socket; |
发送线程:
1 | package socket; |
Client端:
1 | package socket; |
Server端:
1 | package socket; |