文件名称:基于JAVA的ICQ系统的设计于实现
文件大小:1.63MB
文件格式:RAR
更新时间:2009-03-15 02:52:39
Socket编程 控件 源码 资源
服务器与客户间通过套接口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地址,通过对好友列表比较以判断是谁并提示用户收到某某的消息,然后用户选择该用户查看消息,如果好友列表没有该人就显示收到陌生人的消息。用户可以按陌生人按钮查看消息。
【文件预览】:
javaicq
----src()
--------src()
--------compli.bat(49B)
----pic.zip(788KB)
----基于JAVA的ICQ系统的设计于实现.doc(174KB)
----pic()
--------s2.jpg(47KB)
--------ok.jpg(77KB)
--------login.jpg(73KB)
--------get.jpg(67KB)
--------new.jpg(75KB)
--------sql.jpg(97KB)
--------mo.jpg(68KB)
--------add.jpg(71KB)
--------find.jpg(72KB)
--------send.jpg(68KB)
--------3.jpg(93KB)
--------server.jpg(83KB)
--------g.jpg(66KB)
--------direct.jpg(60KB)
--------main.jpg(73KB)