最简单的java即时通讯程序
来源:互联网 发布:mysql不等于多个值查询 编辑:程序博客网 时间:2024/04/27 19:09
服务器端ChatServer:
package server;import java.io.IOException;import java.io.ObjectInputStream;import java.net.ServerSocket;import java.net.Socket;import java.rmi.server.ServerCloneException;public class ChatServer {public static void main(String[] args){try {System.out.println("服务器开始运行");ServerSocket serverSocket = new ServerSocket(10000);Socket chatSocket;chatSocket = serverSocket.accept();//开启服务器10000端口//接受客户端请求ObjectInputStream ois = new ObjectInputStream(chatSocket.getInputStream());System.out.println(ois.readObject());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}这段程序13行首先创建一个服务器端口serverSocket(比喻成插孔),然后指定serverSocket的端口号为10000(相当于指定该插孔在插座上的编号为10000)。
接着,在15行建立一个套接字chatSocket(比喻成电线),然后16行把电线chatSocket连到(=)插孔serverSocket上,并打开该插口的电源(accept())。
19行,相当于把电线chatSocket上的电流取出来,然哈转化成ObjectInputStream格式的信息。
20行,打印该信息。
客户端TestClient:
package client;import java.io.IOException;import java.io.ObjectOutputStream;import java.net.ServerSocket;import java.net.Socket;import java.net.UnknownHostException;public class TestClient {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubString str1="来自客户端的消息:hello";try {Socket chatSocket =new Socket("localhost",10000);ObjectOutputStream oos = new ObjectOutputStream(chatSocket.getOutputStream());oos.writeObject(str1);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}17行相当于把插到10000号插孔的电线连过来
18行把本程序的输出流连到电线的输出流上
19行把str1写到输出流。
- 最简单的java即时通讯程序
- 用java写的基于Socket的简单即时通讯程序
- 用java写的基于Socket的简单即时通讯程序
- 最简单的java程序
- 最简单的JAVA程序
- 一个最简单的java程序
- 一个最简单的Java程序
- java编写最简单的sqlite程序
- HelloWorld 最简单的Java程序
- Java最简单的一个程序 HelloWorld
- 最简单的程序
- 一个简单的多线程即时通讯程序(类似QQ,MSN)
- 一个简单的多线程即时通讯程序(类似QQ,MSN)
- 【转】一个简单的多线程即时通讯程序(类似QQ,MSN)
- ios实现一个简单的XMPP即时通讯程序
- 简单的企业即时通讯
- JDBC--最简单的java连接数据库的小程序
- JBuilder下调试java程序最简单的例子
- 两个action动态传参数
- sqlserver查询当月记录
- master.dbo.spt_values
- java连接sqlserver2005
- 权限迁移_涉及到大量数据插入的优化手段
- 最简单的java即时通讯程序
- AUP----mkstemp和tmpfile
- 数据库连接的用法-使用关系代数合并数据
- ruby中的流程控制
- 格雷码推导
- 贴一个在用的codeigniter分页类
- Android OpenGL ES 开发教程(23):FrameBuffer
- 装箱和拆箱存在的意义介绍
- 爹地妈咪的社交应用 管理宝宝成长的时间线