今天为大家分享简单的飞鸽传书程序的开发与制作,目前系统已经完成了初步功能,后续会进一步完善。整个系统界面漂亮,有完整源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步

开发环境

开发语言为Java,开发环境Eclipse或者IDEA都可以。运行主程序,或者执行打开JAR文件即可以运行本程序。

系统框架

利用JDK自带的SWING框架开发,不需要安装第三方JAR包。纯窗体模式,直接运行Main文件即可以。同时带有详细得设计文档。

程序主要功能

运行方法

1 运行AppStart.java文件

2 程序出现飞鸽传书的面板

系统主要功能点

1发送文字信息,收到方会弹出提醒

2 当发送文件的时候,收到放会弹出提醒,显示文件的名字。点击名字的时候,可以下载相应的文件

实现效果

主要代码

package com.ipmsg;import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;public class TCPService {public static final int PORT = 30000;private static final int BUFF_SIZE = 8192;private static Object lock = new Object();private ServerSocket serverSocket;private static boolean isInit = false;private TCPService() throws IOException {serverSocket = new ServerSocket(PORT);SendFileServer server = new SendFileServer();server.start();}public static void init() {synchronized (lock) {if (!isInit) {try {new TCPService();} catch (IOException e) {e.printStackTrace();}}}}private class SendFileServer extends Thread {@Overridepublic void run() {try {while (true) {Socket socket = serverSocket.accept();SendFile st = new SendFile(socket);st.start();}} catch (IOException e) {e.printStackTrace();}}}private class SendFile extends Thread {Socket socket;SendFile(Socket socket) {this.socket = socket;}@Overridepublic void run() {DataInputStream in = null;DataInputStream fin = null;DataOutputStream out = null;try {int len = 0;byte[] buff = new byte[BUFF_SIZE];in = new DataInputStream(socket.getInputStream());len = in.read(buff);String filePath = new String(buff, 0, len, "UTF-8");File file = new File(filePath);fin = new DataInputStream(new BufferedInputStream(new FileInputStream(file)));out = new DataOutputStream(socket.getOutputStream());out.writeLong(file.length());out.flush();buff = new byte[BUFF_SIZE];while ((len = fin.read(buff)) > 0) {out.write(buff, 0, len);}out.flush();} catch (IOException e) {e.printStackTrace();} finally {try {if(in != null){in.close();in = null;}if(fin != null){fin.close();fin = null;}if(out != null){out.close();out = null;}socket.close();} catch (IOException e) {e.printStackTrace();}}}}}

Java 编写飞鸽传书系统 窗体程序 完整源码相关推荐

  1. Java 编写航班查询系统 窗体程序 完整源码

    开发环境 开发语言为Java,开发环境Eclipse或者IDEA都可以.数据库采用:MySQL.运行主程序,或者执行打开JAR文件即可以运行本程序. 系统框架 利用JDK自带的SWING框架开发,需要 ...

  2. Java 公司财务系统 窗体程序 完整源码

    今天为大家分享一个java语言编写的公司财务管理系统,目前系统已经完成了主要功能,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 ...

  3. linux源码共享,Android之高仿飞鸽传书热点创建与共享源码

    这两天,无意中看到飞鸽传书这个小东东,然后又突然对他的wifi热点创建与共享比较感兴趣,于是乎把他的APK给反编译了,很蛋疼的还原了一下他的这一小模块代码,感觉效果差不多,所以跟大家分享一下,下面我们 ...

  4. Java 编写潜艇大战游戏 窗体程序 完整源码

    今天为大家分享潜艇大战的开发与制作.整个系统界面漂亮,有完整源码提供,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 开发语言为Java,开发环境Eclipse或者IDEA都可以 ...

  5. 飞鸽传书官方网站 2012 最新源码公开

    善于学习,对于任何职业而言,都是前进所必需的 飞鸽传书官方网站,对于飞秋局域网聊天,这种要求就更加高了.但是学习也要找对目标,一些小coding fans们,他们也津津乐道于他们的学习能力,一会学会了 ...

  6. Java 编写在线考试系统-049 窗体程序 完整源码

    今天为大家分享一个java语言编写的在线考试系统-049,目前系统功能已经很全面,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 ...

  7. Java 编写捕鱼达人游戏 窗体程序 完整源码

    今天为大家分享捕鱼达人游戏的开发与制作,目前是单机版游戏,后续时间空了,会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 开发语言为J ...

  8. Java 编写大鱼吃小鱼游戏 窗体程序 完整源码

    今天为大家分享大鱼吃小鱼游戏开发与制作.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 开发语言为Java,开发环境Eclipse或者IDEA都可 ...

  9. Java 编写斗地主游戏 窗体程序 完整源码

    今天为大家分享斗地主游戏的开发与制作,目前是单机版游戏,后续时间空了,会给大家分享下联机版本的开发与制作.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开 ...

最新文章

  1. web网站服务(二)
  2. python语法教程-Python语法教程总结规范
  3. AtcoderGrandContest 005 F. Many Easy Problems
  4. c++协程2 (boost::coroutine)
  5. Fabric的6大特性
  6. CCIE-LAB-SDN-第二篇-DNAC中完成VN配置
  7. Flink的Window
  8. (计算机组成原理)第七章输入和输出系统-第二节2:外部设备之外存储器(磁盘的基本结构,磁盘阵列)
  9. Matlab for循环subplot画图加标题
  10. 自动锁定计算机怎么设置,win10如何设置自动锁定屏幕_win10设置自动锁屏的步骤...
  11. Java常用类和方法重点总结
  12. html5查询通配符,通配符有哪些?
  13. python 化学_Python趣用—配平化学方程式!
  14. Python编程:从入门到实践.pdf :Python 基础笔记,最基本的 Python语法,快速上手入门 Python
  15. 黑苹果 hackintosh 啰嗦模式
  16. 极化电磁波matlab,基于Matlab的电磁波极化仿真.pdf
  17. vue element table expand 扩展行点击行展示且保证只展示一行
  18. jeecg-boot 隐藏菜单操作步骤
  19. 均值、方差、标准差的理解
  20. linux用户管理(2)----修改用户模式(usermod,sudo权限等)

热门文章

  1. 正确给table加边框线的三种方法
  2. 计蒜客模拟赛7礼品盒
  3. onnxruntime调用AI模型的python和C++编程
  4. 【凯子哥带你夯实应用层】Android的Google官方设计指南(上)
  5. Android 8.0正式发布 奥利奥新功能惊人
  6. 【C++】C++快速入门
  7. python中escape_Python语言 escape 的使用
  8. DECIMAL数据类型
  9. dubbo使用教程(可直接应用于企业开发)
  10. 命令行中使用javap反编译class文件