我做的是一个网络管理系统希望大侠们指点一下,给些原代码,谢谢了!
解决方案 »
- 新手问题,类之间的传参
- 请推荐一些好的介绍Java高级特性的书!
- *.java 如何执行啊!急,急
- 在JPanel上画图时为何paint()方法会被多次调用?
- 如何将JFrame的最大化/最小化/关闭按钮 移动到标题栏左边去?
- 这是为什么?为什么?奇怪!!!请大家过来帮个忙!!!
- 新手上路,请帮忙!谢谢!
- swing中打开一个子窗口关闭后再打开出线程异常
- FTPClient乱码处理
- 将一个List<List<String>>集合的每一列数据取出变成一个新的集合List<List<String>>
- 问下Java怎么实现输出是一个tree结构。
- java swt中用GC在Canvas上画出一条直线后,怎么才能把这条直线去掉????
服务器与客户端之间通过套接口Socket(TCP)连接。在Java中使用套接字相当简单,Java API为处理套接口的通信提供了一个类java.net.Socket.,使得编写网络应用程序相对容易.服务器采用多线程以满足多用户的请求,通过JDBC与后台数据库连接,并通过创建一个ServerSocket对象来监听来自客户的连接请求,默认端口为8080,然后无限循环调用accept()方法接受客户程序的连接客户端程序的编制
客户通过Socket(InetAddress,port)建立与服务器的连接。服务器与客户都通过构造BufferedReader,PrintWriter来建立输入输出流,然后双方通过该输入输出流来相互传递信息,一旦收到客户方的连接请求,服务器accept()方法返回一个新建的Socket对象。客户端然后向服务器发送消息,比如注册,登录,查找好友等,服务器收到来自客户的请求后,针对不同的消息处理请求, 虽然UDP不可靠但是对于icq可靠性并不太重要,而且UDP快速,所以客户间发送信息通过UDP。用户登录时通过类DatagramPacket和DatagramSocket创建UDP包括其本地接受端口以及发送端口,默认端口为5000和5001,通过取得的好友的IP地址来向好友发送消息(send(DatagramPacket)和接受消息(receive(DatagramPacket))。当用户通过UDP收到消息后,可以通过DatagramPacket的方法InetAddress getAddress()得到对方的ip地址,通过对好友列表比较以判断是谁并提示用户收到某某的消息,然后用户选择该用户查看消息,如果好友列表没有该人就显示收到陌生人的消息。用户可以按陌生人按钮查看消息用户登录
在客户端,用户输入其jicq号码和密码,然后建立与服务器的连接,告诉服务器我要登录,服务器收到后,开始通过JdbcOdbc读取数据库,然后与用户输入的信息比较,如果相同就向客户返回成功消息并将其Status字段设为1表示上线了以及注册其IP地址,否则返回错误,如果客户收到成功信息就打开主窗口,否则提示出错。如果成功,便打开主程序窗口,并同时开始创建UDP以便在用户之间建立联系。然后客户向服务器请求读取好友名单,服务器收到该请求,开始读取数据库中的friend表,得到好友的号码后,再在icq表中读取好友资料,然后向客户端发送这些信息,客户收到后就在主窗口显示好友,比如头像,呢称。并且建立几个矢量(Vector)用以存储好友的呢称,jicq号码,头像编号,ip地址等信息。
断开了就自动重连。心跳也是要定时去监听,得到返回的信息、、