资源简介
默认使用DES加密聊天信息的SocketChat(内含DES与RSA加密工具)
使用的是GBK编码!!!

代码片段和文件信息
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
/**
* @author CSDN_LQR
* @工程 DecryptSocketChat
* @包名
* @TODO 聊天客户端
*/
public class ClientSwing implements ActionListener {
private Jframe mframe;
private static JScrollPane mScrollPane;
private JTextField mtextField;
private JButton mBtnNewButton;
private static JPanel mJPanel;
private static JScrollBar mScrollBar;
private static Socket socket;
private static BufferedReader mInput;
private static PrintWriter mOutput;
/**
* Launch the application.
*/
public static void main(String[] args) {
DESDecryptUtils.generateKeyToFile();
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ClientSwing window = new ClientSwing();
window.mframe.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
try {
socket = new Socket(“127.0.0.1“ 9999);
} catch (Exception e1) {
}
// 接收消息
new Thread(new Runnable() {
public void run() {
while (true) {
try {
// 得到socket输入流
mInput = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
String content = mInput.readLine();
// 解密信息
content = DESDecryptUtils.getDeencryMessage(content);
// 判断是否要结束聊天
System.out.println(“客户端得到信息:“ + content);
/* ========== 把收到的信息显示到滚动面板中 =========== */
// 创建一个label
JLabel label = new JLabel(content);
// label.setHorizontalAlignment(SwingConstants.RIGHT);
// 设置初始大小
label.setPreferredSize(new Dimension(150 20));
// 把lable添加到jpanel中
mJPanel.add(label);
// 重绘jpanel和jScrollPane
mJPanel.repaint();
mScrollPane.repaint();
mScrollPane.revalidate();
mScrollPane.updateUI();
// 把滚动条滚到底部
mScrollBar.setValue(10000);
} catch (IOException e) {
// e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}).start();
}
// 按钮监听
public void actionPerformed(ActionEvent e) {
// 发送按钮
if (e.getSource().equals(mBtnNewButton)) {
String content = mtextField.getText().trim();
// 内容不为空
if (!content.equals(““)) {
try {
// 得到socket输出流
mOutput = new PrintWriter(new OutputStreamWriter(
socket.getOutputStream()) true);
// 创建一个label
JLabel label = new JLabel(c
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-05-17 09:35 DecryptSocketChat\
文件 301 2016-05-17 09:09 DecryptSocketChat\.classpath
文件 393 2016-05-17 09:08 DecryptSocketChat\.project
目录 0 2016-05-17 09:09 DecryptSocketChat\.settings\
文件 55 2016-05-17 09:09 DecryptSocketChat\.settings\org.eclipse.core.resources.prefs
文件 598 2016-05-17 09:09 DecryptSocketChat\.settings\org.eclipse.jdt.core.prefs
目录 0 2016-05-19 21:15 DecryptSocketChat\bin\
文件 789 2016-05-19 21:15 DecryptSocketChat\bin\ClientSwing$1.class
文件 2204 2016-05-19 21:15 DecryptSocketChat\bin\ClientSwing$2.class
文件 618 2016-05-19 21:15 DecryptSocketChat\bin\ClientSwing$3.class
文件 4596 2016-05-19 21:15 DecryptSocketChat\bin\ClientSwing.class
文件 6364 2016-05-19 21:05 DecryptSocketChat\bin\Conversion.class
文件 3421 2016-05-19 21:15 DecryptSocketChat\bin\DESDecryptUtils.class
文件 2939 2016-05-19 21:15 DecryptSocketChat\bin\RSADecryptUtils.class
文件 789 2016-05-19 21:15 DecryptSocketChat\bin\ServerSwing$1.class
文件 2344 2016-05-19 21:15 DecryptSocketChat\bin\ServerSwing$2.class
文件 618 2016-05-19 21:15 DecryptSocketChat\bin\ServerSwing$3.class
文件 4624 2016-05-19 21:15 DecryptSocketChat\bin\ServerSwing.class
文件 4148 2016-05-19 21:13 DecryptSocketChat\bin\VerticalFlowLayout.class
文件 263 2016-05-17 09:35 DecryptSocketChat\key.key
目录 0 2016-05-19 21:15 DecryptSocketChat\src\
文件 4978 2016-05-19 21:15 DecryptSocketChat\src\ClientSwing.java
文件 11243 2016-05-19 21:05 DecryptSocketChat\src\Conversion.java
文件 2949 2016-05-19 21:15 DecryptSocketChat\src\DESDecryptUtils.java
文件 2929 2016-05-19 21:15 DecryptSocketChat\src\RSADecryptUtils.java
文件 5196 2016-05-19 21:15 DecryptSocketChat\src\ServerSwing.java
文件 7049 2016-05-19 21:13 DecryptSocketChat\src\VerticalFlowLayout.java
- 上一篇:火狐安装未通过验证的扩展
- 下一篇:计算机毕业实习报告第三篇
相关资源
- Remote Desktop Organizer v1.4.7 支持win10
- The direction of synaptic plasticity mediated
- 通信软件的具体实例──基于Socket的
- C 大整数RSA加密
- 用Socket编程实现FTP
- DXperienceUniversal 10.1.6(2010年8月13日版
- RSA算法源码
- websocket实现一对一聊天
- 3des加解密_C 实现
- 代码客:G-TcpServer(IOCP) 1.0 正式版及
- RSA AES DES ECC加密算法源码
- 密码学课程设计:DES加密解密算法的
- SOCKET 网络编程 计算机网络 作业 客户
- linux 网络实验 ftp程序
- 用Socket写的简易FTP服务器和客户端
- 提供几个加密算法的源码
- socket小工具(可方便建立TCP UDP的soc
- socket客户端源码
- DES IP置换IP逆置换
- DES的C 源码
- 基于CSocket的多人聊天室
- socket文件传输源码
- Design of Analog CMOS Integrated Circuits 拉扎
- codesys编程手册中文版
- 易语言RSA加解密源码
- Anti-biofilm Activity of Resveratrol and Ursol
- System Design Interview - An Insider’s Guide
- Grokking the System Design Interview
- Socket自制系统
- HP用SOCKET实现(客户端---服务端)
评论
共有 条评论