java socket编程之聊天室(一)
2015-12-07 11:45
399 查看
任务是变个多客户端的通信的。不过聊天室也蛮有趣,跟着视频走了一遍。(win系统,java配路径就弄了蛮久。
eclipse上弄得。
最后的文件结构:
先试着实现了简单的通信。然后实现了客户端的请求,用swing实现了客户端界面编写,最后根据需求修改了服务器端的服务。
先理一理基本原理(是看java编程那些事儿先顺了下java的知识,然后socket网络编程顺利下java这方面编程的知识。
(掌握 Socket 编程对于编写复杂的互联网应用必不可少)
1.Socket 网络通信的概念。
2.使用 ServerSocke t建立服务器。
3.在客户端使用 Socket 与服务器通信。
开发环境:Eclipse
界面:swing(瞬间想起了当初的多媒体编程用的MFC)
Step1:
Socket 又称”套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
ServerSocket 用于服务器端,Socket 是建立网络连接时使用的。
在连接成功时,应用程序两端都会产生一个 Socket 实例,操作这个实例,完成所需的会话。
Step2:
使用 ServerSocket 监听某一端口的请求,当有访问时弹出提示。
Step3:
使用 ServerSocket 建立聊天服务器
a.使用accept()方法获取与客户端的 Socket 链接对象,将该对象指派给一个新的线程,在线程中执行网络数据的交换。实现一对一的数据传输。
b.将服务器端所有的通讯线程保存到一个集合当中,当有用户发来数据,则转发给所有用户,实现聊天室效果
Step4:
使用Java创建聊天客户端
编写聊天客户端的 Swing 界面与整体结构。
通过 Socket 连接到服务器,实现数据的发送与接收,并使用线程承载 Socket 通信。
eclipse上弄得。
最后的文件结构:
先试着实现了简单的通信。然后实现了客户端的请求,用swing实现了客户端界面编写,最后根据需求修改了服务器端的服务。
先理一理基本原理(是看java编程那些事儿先顺了下java的知识,然后socket网络编程顺利下java这方面编程的知识。
(掌握 Socket 编程对于编写复杂的互联网应用必不可少)
1.Socket 网络通信的概念。
2.使用 ServerSocke t建立服务器。
3.在客户端使用 Socket 与服务器通信。
开发环境:Eclipse
界面:swing(瞬间想起了当初的多媒体编程用的MFC)
Step1:
Socket 又称”套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
ServerSocket 用于服务器端,Socket 是建立网络连接时使用的。
在连接成功时,应用程序两端都会产生一个 Socket 实例,操作这个实例,完成所需的会话。
Step2:
使用 ServerSocket 监听某一端口的请求,当有访问时弹出提示。
Step3:
使用 ServerSocket 建立聊天服务器
a.使用accept()方法获取与客户端的 Socket 链接对象,将该对象指派给一个新的线程,在线程中执行网络数据的交换。实现一对一的数据传输。
b.将服务器端所有的通讯线程保存到一个集合当中,当有用户发来数据,则转发给所有用户,实现聊天室效果
Step4:
使用Java创建聊天客户端
编写聊天客户端的 Swing 界面与整体结构。
通过 Socket 连接到服务器,实现数据的发送与接收,并使用线程承载 Socket 通信。
相关文章推荐
- Spring mvc 实例 --JSTL结合EL实现JSP获取后台List回显界面
- JAVA线程池学习以及队列拒绝策略
- 【leetcode】Peeking Iterator
- 【工具】线程安全的JdbcTemplate.java
- JAVA反射常用方法
- Spring+SpringMVC+Mybatis 利用AOP自定义注解实现可配置日志快照记录
- 关于Spring报指针异常的问题的解决方案
- java pdf写入中文时不显示,如何解决。
- JavaEE体系学习路径(尚硅谷版)
- java去空格
- java.lang.IllegalArgumentException: Receiver not registered
- 利用eclipse修改不同类型文件的编码格式
- Spring MVC拦截器+注解方式实现防止表单重复提交
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- 六、WorldWindJava编码问题
- Eclipse项目出现红色叹号
- 使用spring-loaded实现应用热部署
- Struts2基本配置(1)
- Spring:Spring入门和bean的生命周期
- SpringMVC+JPA+EasyUI 服务端分页