数据通信
1、服务器需要提前运行(类似于游戏开发的服务器可能全年都在运行) 不提前运行,访问链接,会找不到服务器访问的地址
2、客户端在输入连接服务器的端口号和本机端口号,之后访问者连接服务器网络
服务器(服务端)
1、创建服务器套接字
2、设定服务器端口号
3、查看当前服务器套接字链接地址
4、服务器中的监听器(监听连接服务器的目标)
5、输出监听到,连接服务器目标的连接网络地址
用户(客户端)
1、创建客户端套接字
2、输入本机ip地址 (IPv4地址) 设置->网络\Internet -> 属性
3、输入服务器端口号
4、当前对象套接字绑定到本地端口号
本地端口号:和服务器连接的对外连接的接口
服务器端口号:服务器对外的连接的接口
服务器
package Test.Communication;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Test {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(2316);//创建服务器套接字
System.out.println("Server 初始化完成"+serverSocket.getInetAddress() +" ");
//返回套接字连接地址 -- 连接地址???
System.out.println("监听中.......");
Socket A = serverSocket.accept();//监听和接收套接字连接 -- 监听 连接
System.out.println("监听到一个连接:"+A.getInetAddress());
System.out.println(A.getPort());
} catch (IOException e) {
e.printStackTrace();
}
}
}
客户端
package Test.Communication;
import java.io.IOException;
import java.net.Socket;
public class Test_B {
public static void main(String[] args) {
try {
Socket B = new Socket("192.168.1.12",2316);
//创建一个流套接字并将其连接到指定主机上的指定端口号。
System.out.println("B开始连接"+B.getLocalPort());
} catch (IOException e) {
e.printStackTrace();
}
}
}