Java实现简单的P2P聊天软件

实习期间,作者接到任务是使用Java基于Socket实现一个P2P聊天软件,要求能在同一网关内通过任意端口进行双向文本通信。在编程过程中遇到了"Connection refused: connect"的错误,尝试更改端口但问题未解决,寻求帮助。
摘要由CSDN通过智能技术生成

实习第一周,由于后续的项目需要大量用到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"
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EricFang0001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值