当前位置:编程学习 > JAVA >>

Socket聊天程序分享

今天要做一个license生成器,就想用Swing来做,发现Swing的知识忘的差不多了,把毕业前写的一个聊天程序回头看了下,算是回顾回顾Swing的知识,呵呵。这个程序十分简单,就实现了群聊和私聊的功能。而且代码写的质量很差,我记得后来写了个可以传输文件的版本,但是找不到了,就把这个小Demo的源码发出来供大家拍砖吧。

先看些效果图吧:


登陆进来很简洁:

 

发送消息


 

双击一个用户进行私聊

 


源码不多,就几个Java文件。包含客户端和服务器端。

可以把源代码导入到Eclipse里,先运行Server.java。然后再运行Main.java就可以了。

源码免费下载:http://download.csdn.net/detail/huxiweng/4421485
更多精彩博文请访问我的博客:http://blog.csdn.net/withiter/article/details/7734062 --------------------编程问答-------------------- --------------------编程问答-------------------- 楼主好人 --------------------编程问答-------------------- --------------------编程问答-------------------- 服务器启动失败怎么回事? --------------------编程问答--------------------
引用 4 楼 oLinHao007 的回复:
服务器启动失败怎么回事?


什么错,贴出来看下 --------------------编程问答-------------------- --------------------编程问答-------------------- 不错啊  支持开源 --------------------编程问答--------------------
引用 7 楼 stubble 的回复:
不错啊  支持开源


源码已开源了。 --------------------编程问答-------------------- 我在练习这个项目的时候碰到了hashmap为空的问题。愁死我了。。能帮忙解决么? --------------------编程问答--------------------
引用 9 楼 u012278060 的回复:
我在练习这个项目的时候碰到了hashmap为空的问题。愁死我了。。能帮忙解决么?

是运行我这个代码??
源码运行出错贴出错误信息,帮忙解答 --------------------编程问答--------------------
引用 10 楼 huxiweng 的回复:
Quote: 引用 9 楼 u012278060 的回复:

我在练习这个项目的时候碰到了hashmap为空的问题。愁死我了。。能帮忙解决么?

是运行我这个代码??
源码运行出错贴出错误信息,帮忙解答

没有,我自己练习的代码,能否帮忙解决。在线等答复  --------------------编程问答-------------------- 楼主V5。。 --------------------编程问答-------------------- --------------------编程问答-------------------- 怎么回事啊? --------------------编程问答-------------------- 试看看。 --------------------编程问答-------------------- 界面可以做的更好 --------------------编程问答--------------------
引用 13 楼 JACKELLENk 的回复:


估计是你的9999端口被占用了,你换个端口试一下吧:

public Server() {
try {
server = new ServerSocket(9999);// update port here
System.out.println("服务器已经启动");
} catch (IOException e) {
e.printStackTrace();
System.out.println("服务器启动失败");
}
}
--------------------编程问答-------------------- 最近问socket的人比较多,我推荐下,方便新接触Socket编程的同学学习。 --------------------编程问答-------------------- 楼主 这是怎么回事?
--------------------编程问答--------------------
引用 19 楼 kxm_2012 的回复:
楼主 这是怎么回事?


晕。。看下解压下来的readme啊。。。
把解压下来的文件夹里的userInfo.properties拷贝到c盘根目录 --------------------编程问答-------------------- 还可以,学习学习了。 --------------------编程问答-------------------- 我也可以用C#做一个........... --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 楼主厉害 --------------------编程问答--------------------
引用 17 楼 huxiweng 的回复:
Quote: 引用 13 楼 JACKELLENk 的回复:



估计是你的9999端口被占用了,你换个端口试一下吧:

public Server() {
try {
server = new ServerSocket(9999);// update port here
System.out.println("服务器已经启动");
} catch (IOException e) {
e.printStackTrace();
System.out.println("服务器启动失败");
}
}

恩,是的 --------------------编程问答--------------------  哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 好好好好好   支持.. --------------------编程问答-------------------- V5 --------------------编程问答-------------------- 这个不错,学习学习 --------------------编程问答-------------------- 不错,不错,下载下来看看。。。 --------------------编程问答-------------------- 好人啊!真是好人 --------------------编程问答-------------------- 山寨山寨大王的人不是一般人啊 --------------------编程问答-------------------- +1,就是看不懂swing,没学过 --------------------编程问答-------------------- 牛,学习下。 --------------------编程问答-------------------- 楼主强大 --------------------编程问答-------------------- 先收藏了~留着慢慢看 --------------------编程问答-------------------- 学习了   牛啊  --------------------编程问答-------------------- --------------------编程问答-------------------- 好呀,好呀,支持分享。 --------------------编程问答-------------------- 真是一点看不懂 --------------------编程问答-------------------- 楼主好人那。 --------------------编程问答-------------------- 好,很不错,学习借鉴。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- 先顶下,C# 的就好了 --------------------编程问答-------------------- 可以把这个上传网上,让大家用用看! --------------------编程问答--------------------
引用 47 楼 u012492552 的回复:
可以把这个上传网上,让大家用用看!


不是上传了吗 --------------------编程问答-------------------- 你再套个Swing样式就更像模像样了

这个样式就不错:
https://code.google.com/p/beautyeye/wiki/Introduction --------------------编程问答-------------------- http://code.google.com/p/beautyeye/ --------------------编程问答-------------------- 看着不错啊,赞 --------------------编程问答-------------------- 大神啊!膜拜 --------------------编程问答-------------------- 看来 Java 只能 做这些 无聊 没有任何 价值的 玩玩的 东西了 --------------------编程问答--------------------
引用 53 楼 liyuxin88 的回复:
看来 Java 只能 做这些 无聊 没有任何 价值的 玩玩的 东西了



你的见识 实在  太 短浅了。。。。  没有看到这是 tomcat等。。服务器的底层吗。。。笑话 --------------------编程问答-------------------- 前来看看,受教了噶
好东西 --------------------编程问答-------------------- 挺有用的,顶一个 --------------------编程问答-------------------- 楼主万岁 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 拍死你!!!!!!!!!!!!!!! --------------------编程问答-------------------- --------------------编程问答-------------------- 谢谢分享。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- 这不还是聊天软件能打电话么
--------------------编程问答--------------------
引用 63 楼 u012523393 的回复:
这不还是聊天软件能打电话么


不能打电话! --------------------编程问答-------------------- --------------------编程问答-------------------- 感谢楼主分享,学习了 感谢楼主分享,学习了 --------------------编程问答-------------------- 顶一个,再顶一个 --------------------编程问答-------------------- 楼主好人 谢谢 --------------------编程问答-------------------- 怎么实现两个人私聊啊 --------------------编程问答--------------------
引用 69 楼 XLYing 的回复:
怎么实现两个人私聊啊


可以私聊的,在群聊右边双击一个ID就可以了。ps,不能自己和自己私聊 --------------------编程问答-------------------- 好的。谢谢啦 --------------------编程问答-------------------- 学习下,正要开始学这一块哪。 --------------------编程问答-------------------- 学习下,正要开始学这一块哪 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 写得很好,但还没有完吧。只能单机,还没有看完。 --------------------编程问答-------------------- 谢谢楼主。。。看看 --------------------编程问答--------------------
引用 75 楼 yousongshu520 的回复:
写得很好,但还没有完吧。只能单机,还没有看完。


只是个demo,非常简单的。用来演示Java Socket的 --------------------编程问答-------------------- 代码看完,进步不少。本身对这方面了解不太多。socket多久会自动断开连接的? --------------------编程问答-------------------- 看了一下,不错,我也用socket编了一个 --------------------编程问答-------------------- --------------------编程问答-------------------- 楼主 你太牛了
这项目是你想的吗?
用这个能和你聊天吗
呵呵 --------------------编程问答-------------------- 你的群聊,将消息print到所有client,,,万一,我是说万一,client有上百万。。。。。。 --------------------编程问答--------------------
引用 82 楼 zhao_jing_zhou 的回复:
你的群聊,将消息print到所有client,,,万一,我是说万一,client有上百万。。。。。。

你说的对的,这个只是做了一个Socket的demo。这个可以自己扩展源码,比如讲群聊已人数分类,满100就新开一个群聊的Socket,每个Server Socket处理对应id的群聊消息。。
这个demo只是学习socket入门的。功能有限,代码没优化。学习用 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 大神!收藏了! --------------------编程问答-------------------- 楼主好人啊,全免费 --------------------编程问答-------------------- --------------------编程问答-------------------- 下载了谢谢分享 --------------------编程问答-------------------- 不错不错!给一份研究研究呗! --------------------编程问答-------------------- http://bbs.csdn.net/topics/390671553 --------------------编程问答-------------------- 下载报错:
An Error Was Encountered
Databasee Error. --------------------编程问答-------------------- 不错,收了, 不过楼主,我下不了, 能发到我QQ邮件么,谢谢!
23016810@qq.com --------------------编程问答-------------------- 聊天软件这东西,通常在局域网没有发现问题,一部署到互联网上面就问题特别多 --------------------编程问答--------------------
引用 91 楼 weidu23 的回复:
下载报错:
An Error Was Encountered
Databasee Error.

我试了下没问题。。你再试试,不行换个浏览器再试试 --------------------编程问答-------------------- 楼主是吧java SE的那个例子给抄下来了? --------------------编程问答--------------------
引用 95 楼 happy7023 的回复:
楼主是吧java SE的那个例子给抄下来了?


自己写的哦
--------------------编程问答-------------------- 下载看看。。学习学习! --------------------编程问答-------------------- 好人啊!真是好人 --------------------编程问答-------------------- 谢谢楼主分享 --------------------编程问答-------------------- 感谢分享了
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,