欢迎来到天天文库
浏览记录
ID:15090159
大小:42.00 KB
页数:16页
时间:2018-08-01
《西安邮电大学素质拓展 西安邮电大学socket网络编程实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、西安邮电大学素质拓展西安邮电大学Socket网络编程实验报告导读:就爱阅读网友为您分享以下“西安邮电大学Socket网络编程实验报告”的资讯,希望对您有所帮助,感谢您对92to.com的支持!《高级Internet》实验报告题目:Socket网络编程学生姓名:班级:学号:指导老师:王文浪成绩:西安邮电大学计算机学院2015年4月27日一、实验目的16①②③④⑤熟悉Socket网络编程熟悉CS客户机模式熟悉ServerSocket编写服务端熟悉使用多线程机制处理业务了解客户机之间通信方式二、实验内容及要求①②③
2、④⑤⑥采用CS模式,通过客户机向服务器端发送消息;采用Socket来实现客户机之间的网络通信;通过ServerSocket创建服务端来处理接受客户机请求;通过多线程方式来处理客户机之间的通信请求;实现通信的界面窗口;实验内容有发送私聊消息、向选中用户发送文件、用户接受文件。三、实验过程①确定编程语言,架构方式,实及通信的协议编程语言:Java;结构方式:CS客户机模式;16通信协议:在过程中为每一条通信的信息设定一个type参数,标志着通信的类型;1:向选中用户发送私信;0:上下线更新-1:下线请求2:请求发
3、送文件3:确定接收文件②创建工程项目SuperInternet_Client(客户机)SuperInternet_Server(服务器端)项目客户机目录结构:项目的服务器端目录结构:③创建登录界面ChatLogin.java1)(客户机)实现的核心代码://监听登录按钮事件(登录时从配置文件中读取用户的配置信息)btnLoginButton.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente
4、){//读取配置文件PropertiesuserProperties=newProperties();Filefile=newFile();//加载配置文件的信息LoadPropertiesUtil.loadPro(userProperties,file);//获得输入用户名Stringuname=textField.getText().toString();if(file.length()!=0){//在配置文件中是以键值对的方式存放用户的信息,用户名(key)=密码值(value)if(userProp
5、erties.containsKey(uname)){//配置文件中包含该用户//获取密码框输入的用户名String16upass=newString(passwordField.getPassword());//判断用户密码是否正确if(upass.equals(userProperties.getProperty(uname))){//创建网络连接并显示聊天窗口System.out.println(连接成功!!);try{//创建本地网络连接,端口为8080Socketclient=newSocket
6、(,8080);//将登录按钮设置为不可编辑btnLoginButton.setEnabled(false);//登录成功,打开聊天窗口ChatRoomchatroom=newChatRoom(uname,client);chatroom.setVisible(true);//显示聊天窗口setVisible(false);//隐藏登录窗口}catch(UnknownHostExceptione1){e1.printStackTrace();ErrorInfoShowUtil.errorTip(连接服务器
7、失败,请重新登录!,contentPanel);}catch(IOExceptione1){e1.printStackTrace();ErrorInfoShowUtil.errorTip(连接服务器失败,请重新登录!,contentPanel);}}else{16lblPrompt.setText(您输入的密码错误!);...后续省略}});2)创建登录界面中调用的工具类读取配置文件工具类(LoadPropertiesUtil),实现的核心代码:publicclassLoadPropertiesUt
8、il{/***加载配置文件的信息*@paramproperties*@paramfile*/publicstaticvoidloadPro(Propertiesproperties,Filefile){//文件不存在,创建该文件if(!file.exists()){try{file.createNewFile();}catch(IOExceptione){e.printStackTrace();Sy
此文档下载收益归作者所有