资源简介
默认使用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
- 上一篇:火狐安装未通过验证的扩展
- 下一篇:计算机毕业实习报告第三篇
相关资源
- CBC模式DES加密
- 有连接的socket通信posix)
- socket编程_windows_linux_数据传输
- windows平台下socket编程之TCP
- Unity3D使用socket通讯源码
- Linux下利用TCPsocket传输图片
- 使用Socket传输视频
- 使用Socket传输音频
- 多线程Socket.
- ATmega128开发板
- WEBSOCKET_fleck.dll
- zw_socket5proxy.zip
- 五子棋局域网联机版
- altium designer 10破解密钥alf文件
- RedisDesktopManager 最新到0.9.9-Windows版-包
- Socket Raw实现的IPV4INIPV6 UDP数据包发送
- QUdpSocket 多线程编程 moveToThread
- Altium+designer常用元件库封装大全
- Qt使用udp协议,简单易懂
- SpringBoot WebSocket消息推送群发和指定到
- K-modes算法 随机类中心
- socket通信 基于udp
- 华农网络编程socket通信
- DES算法IP核的流水线设计
- Qt socket的文件传输
- CMOS VLSI Design A Circuits and Systems Perspe
- 计算机算法答案(computer algorithms in
- DES文件加密解密算法实现
- CASyncSocket客户端服务器框架完整代码
- Qt 下的udp socket通信
评论
共有 条评论