网络程序设计考试大作业Word格式.docx
《网络程序设计考试大作业Word格式.docx》由会员分享,可在线阅读,更多相关《网络程序设计考试大作业Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
5.进入聊天界面13
6.私聊页面17
一.所使用的背景知识、主要函数的描述
背景:
根据现在最流行的聊天工具QQ,模仿一部分主要功能来完成。
主要函数:
publicclassServer;
服务器的创建。
publicclassClient;
客户端的创建。
publicclassMainextendsJFrame;
登录界面的显示。
publicclassRegistextendsJDialog;
注册界面的显示。
publicclassUserInformation;
用户信息的保存和验证。
publicclassAllTalkFrameextendsJFrame;
登录后进入群聊界面。
publicclassPointToPointTalkFrameextendsJFrame;
私聊界面。
二.程序设计思想及程序设计流程框图
设计思想:
利用socket与serversocket在客户端与客户端之间的通信,InputStreamInputStreamReader输入输出流进行信息的发送与接收。
程序设计流程:
主页面:
输入账号与密码,点击登录或者注册进入下一页面。
登录:
判定是否正确,正确则进去聊天界面。
注册:
进去注册界面,成功则返回主页面。
进入聊天室:
能发送信息让在线的所有人看到。
私聊界面:
能与一个人单独聊天,信息只能被双方看到。
三.主要代码及代码运行结果
1.启动服务器
代码:
publicclassServer{
ServerSocketserver;
staticintclientNum=0;
tart();
}
}catch(IOExceptione){
"
客户连接服务器失败"
);
}
}
}
quals(userPassword)){
(null,"
密码不能为空"
}elseif(userName)
&
&
userPassword)){
newAllTalkFrame(userName).setVisible(true);
etPassword());
您点击了提交按钮"
if("
"
)){
用户名不能为空"
}elseif("
.equals(userPassword)
||"
.equals(userPasswordConfirm)){
密码和密码重复都不能为空"
}elseif(!
(userPasswordConfirm)){
密码和密码重复不一致"
}else{
UserInformationuser=newUserInformation();
if(userName)){
(null,"
此用户名已存在"
}else{
注册成功"
(userName,userPassword);
ndexOf("
:
)+1).equals("
\r\n"
))){
Strings1=('
说'
'
'
Strings=("
�"
"
\r\n"
(s);
}
ndexOf("
和"
));
StringsiliaoName2=(
("
)+1,serverOutput
.indexOf("
\r"
StringsiliaoBenshen="
;
StringsiliaoDuixiangName="
if(clientName)){
siliaoBenshen=siliaoName1;
siliaoDuixiangName=siliaoName2;
}else{
siliaoBenshen=siliaoName2;
siliaoDuixiangName=siliaoName1;
}
etVisible(true);
}catch(IOExceptione1){
"
读取服务器端消息出错"
oString().equals(clientName)){
不能和自己聊天"
StringPToPMemberName="
私聊"
+"
*"
+clientName
+.toString();
}
});
界面:
5.私聊页面
plit("
s=(2,
("
说"
)).split("
for(inti=0;
i<
;
i++){
s1=s1+s[i];
Stringss2=(serverOutput
.indexOf("
//将私聊客户端返回来的一行字符串按"
进行拆分成多行,显示在私聊的oldMessageArea中
if("
)!
=-1){
ss2=("
(ss1+ss2);
精心搜集整理,只为你的需要