Java 网络编程
(一)Socket 编程 | Java 网络编程
Socket 基本使用
String hostName = p.getProperty("ServerIP"); // 获取服务器端IP,如:10.0.70.30
String port = p.getProperty("ServerPort"); // 获取端口号,如:8080
try {
socket = new Socket(hostName, Integer.parseInt(port)); // 创建套接字对象
oos = new ObjectOutputStream(socket.getOutputStream()); // 创建对象输出流
ois = new ObjectInputStream(socket.getInputStream()); // 创建对象输入流
} catch (Exception e) {
JOptionPane.showMessageDialog(new JFrame(), "网络连接失败,请检查配置参数!");
try {
socket.close(); // 关闭套接字对象
} catch (IOException e1) {
e1.printStackTrace();
}
System.exit(0);
}
使用案例
package com.hk.client;
import com.hk.client.login.LoginFrame;
import com.hk.server.model.Oper;
import javax.swing.*;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.List;
import java.util.Properties;
/**
* @author: shipleyleo
* @create: 2023-05-27 18:22:36
*/
public class ClientMainClass {
public static Socket socket; // 套接字
public static ObjectInputStream ois; // Socket 对象输入流
public static ObjectOutputStream oos; // Socket 对象输出流
public static List flights; // 航班对象集合
public static Oper currentUser; // 当前登录的网点
public static ClientMainFrame clientFrame; // 客户端主界面
// public static OrderFrame currentOrderFrame; // 当前订单界面
public static void init() {
Properties p = new Properties(); // 创建配置文件对象
try {
p.load(new FileInputStream(System.getProperty("user.dir") + "\\src\\com\\hk\\client\\client.properties")); // 读取配置文件
} catch (IOException e) {
JOptionPane.showMessageDialog(new JFrame(), "配置文件丢失或已损坏,请成功新定义配置文件!");
System.exit(0);
}
String hostName = p.getProperty("ServerIP"); // 获取服务器端IP
String port = p.getProperty("ServerPort"); // 获取端口号
try {
socket = new Socket(hostName, Integer.parseInt(port)); // 创建套接字对象
oos = new ObjectOutputStream(socket.getOutputStream()); // 创建对象输出流
ois = new ObjectInputStream(socket.getInputStream()); // 创建对象输入流
} catch (Exception e) {
JOptionPane.showMessageDialog(new JFrame(), "网络连接失败,请检查配置参数!");
try {
socket.close();
} catch (IOException e1) {
e1.printStackTrace();
}
System.exit(0);
}
}
public static void main(String[] args) {
ClientMainClass.init(); // 调用初始化方法
new LoginFrame().showMe(); // 显示登录界面
}
}
参考资料