实习第一周,由于后续的项目需要大量用到socket方面的知识,导师第一周给的任务是写一个设计一个基于最基本Socket的P2P“聊天软件”(文本互传),要求在同一个网关内可以通过任意常用端口建立会话并进行socket通讯、双向文本收发。于是开始了面向百度编程。
socket这一块搞的晕头转向,最后好歹也是明白了
不知道是什么问题最后运行还是Connection refused: connect
搜了一堆都说断口冲突了,但是改了端口还是连不上 求大神解答
//服务端
package com.fang;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Properties;
public class Server extends JFrame implements ActionListener {
// 属性
// frame组件
//private JFrame jFrame;
// 文本区
private JTextArea jTextArea;
// 滚动条
private JScrollPane jScrollPane;
//面板 → (文本框 + 发送按钮)
private JPanel jPanel;
private JTextField jTextField;
private JButton jButton;
private BufferedWriter bufferedWriter;
private static int serverPort;
static {
Properties properties = new Properties();
try {
properties.load(new FileReader("chat.properties"));
serverPort = Integer.parseInt(properties.getProperty("serverPort"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
//方法
//构造方法
public Server() {
// 文本区放入滑动组件
jTextArea = new JTextArea();
// 自动滚动 + 不可编辑
jTextArea.setAutoscrolls(true);
jTextArea.setEditable(false);
jScrollPane = new JScrollPane(jTextArea);
// 好像不能这么写
// jScrollPane.add(jTextArea);
// 按钮+文本框 放入 panel 组件 分别放在东西两侧
jButton = new JButton("SEND"