• 大小: 72KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: Java
  • 标签: 通讯  

资源简介

这款一对一通讯小软件是基于JDK1.6开发环境设计的简单Java应用小程序。此程序用于实现局域网内一对一的通信功能,采用客户/服务器摸式,服务器与客户端之间采用套接口Socket(TCP)进行连接,服务器监听客户端的连接请求,客户通过Socket(IP,port8899)建立与服务器的连接。通过简单的两个对话窗口,但把类似QQ,飞信等通信软件的基本要求完成,只需要连通局域网,便可以进行简单通讯。在设计之初,应用了刚学的Java知识,同时通过自学和借鉴相应文档,把软件完善并人性化。

资源截图

代码片段和文件信息

//一对一通讯小软件客户端

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import javax.swing.*;

public class ChatClient extends Jframe implements ActionListener{

private JPanel jContentPane = null;

private JPanel jPanel = null;

private JTextField jTextField = null;

private JButton jButton = null;

private JTextArea jTextArea = null;

private Socket soc = null;

private BufferedReader br = null;

private BufferedWriter bw = null;

private JScrollPane jScrollPane = null;

// 此方法建立并初始化jPanel,并返回javax.swing.JPanel

private JPanel getJPanel() {
   if (jPanel == null) {
    jPanel = new JPanel();
    jPanel.setLayout(new FlowLayout());
    jPanel.add(getJTextField() null);
    jPanel.add(getJButton() null);
   }
   return jPanel;
}

// 此方法建立并初始化jTextField,并返回javax.swing.JTextField

private JTextField getJTextField() {
   if (jTextField == null) {
    jTextField = new JTextField();
    jTextField.setPreferredSize(new Dimension(300 22));
    jTextField.addActionListener(this);
   }
   return jTextField;
}

// 此方法建立并初始化jButton,并返回javax.swing.JButton

private JButton getJButton() {
   if (jButton == null) {
    jButton = new JButton();
    jButton.setPreferredSize(new Dimension(80 22));
    jButton.setText(“发送“);
    jButton.addActionListener(this);
   }
   return jButton;
}

// 此方法建立并初始化jTextArea,并返回javax.swing.JTextArea

private JTextArea getJTextArea() {
   if (jTextArea == null) {
    jTextArea = new JTextArea();
    jTextArea.setEditable(false);
   }
   return jTextArea;
}

// 此方法建立并初始化jScrollPane,并返回javax.swing.JScrollPane

private JScrollPane getJScrollPane() {
   if (jScrollPane == null) {
    jScrollPane = new JScrollPane();
    jScrollPane.setViewportView(getJTextArea());
   }
   return jScrollPane;
}

// main 方法

public static void main(String[] args) {
   // 自动生成方法存根

     String setIP = JOptionPane.showInputDialog(“请输入通讯的服务器IP“);
     ChatClient thisClass = new ChatClient();
     thisClass.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
     thisClass.setVisible(true);
     thisClass.run(setIP);

}

// 构造函数

public ChatClient() {
   super();
   initialize();
}

// 此方法初始化thisClass,程序的届面

private void initialize() {
   this.setSize(450 250);
   this.setContentPane(getJContentPane());
   this.settitle(“一对一通讯客户端“);





}

// 以下为通讯部分的run方法

private void run(String setIP) {

   try{

    soc = new Socket( setIP 8899);

   while (true) {
    try {


     br = new BufferedReader(new InputStreamReader(soc
       .getInputStream()));
     bw = new BufferedWriter(new OutputStreamWriter(soc
       .getOutputStream()));
     String message = ““;
     while (!((message = br.readLine()).equals(“bye“))) {
      jTextArea.append(“\n“ + message);
      jTextArea.setCaretPosition(jTextArea.getText().length());
     }
    } catch (IOException eee) {
     eee.printStackTrace();
    } finally {

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4629  2010-10-21 17:40  Java局域网一对一通讯小软件\java源码\ChatServer.java

     文件       4264  2010-10-21 17:27  Java局域网一对一通讯小软件\java源码\ChatClient.java

     文件     134656  2013-11-22 20:12  Java局域网一对一通讯小软件\一对一通讯小软件说明书.doc

     目录          0  2010-10-24 06:24  Java局域网一对一通讯小软件\java源码

     目录          0  2010-10-23 22:09  Java局域网一对一通讯小软件

----------- ---------  ---------- -----  ----

               143549                    5


评论

共有 条评论