91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 75KB
    文件類型: .7z
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-06
  • 語言: 其他
  • 標簽: tcp??

資源簡介

這是計算機網絡課程設計,TCP文件傳輸、UDPQQ聊天配套的服務器端。

資源截圖

代碼片段和文件信息

package?cn.edu.ldu;

import?cn.edu.ldu.util.Message;
import?cn.edu.ldu.util.Translate;
import?cn.edu.ldu.util.User;
import?java.io.IOException;
import?java.net.DatagramPacket;
import?java.net.DatagramSocket;
import?java.net.InetAddress;

import?java.util.ArrayList;

import?java.util.Iterator;
import?java.util.List;


/**
?*?ReceiveMessage,服務器接收消息和處理消息的線程類
?*?@author?南京農業大學?19215227?計科152?程柯
?*/
public?class?ReceiveMessage?extends?Thread?{
????private?final?DatagramSocket?serverSocket;?//服務器套接字
????private?DatagramPacket?packet;??//報文
????private?final?List?userList=new?ArrayList<>();?//用戶列表
???protected?List?fileList=new?ArrayList<>();?//文件列表
????private?final?byte[]?data=new?byte[8096];?//8K字節數組
????private?String?str;
????private?final?ServerUI?parentUI;?//消息窗口??
????/**
?????*?構造函數
?????*?@param?socket?會話套接字
?????*?@param?parentUI?父類
?????*/
????public?ReceiveMessage(DatagramSocket?socketServerUI?parentUI)?{
????????serverSocket=socket;
????????this.parentUI=parentUI;
????}
????@Override
????public?void?run()?{??
????????while?(true)?{?//循環處理收到的各種消息
????????????try?{
????????????packet=new?DatagramPacket(datadata.length);//構建接收報文
????????????serverSocket.receive(packet);//接收客戶機數據
????????????//收到的數據轉為消息對象
????????????Message?msg=(Message)Translate.ByteToobject(packet.getData());
????????????String?userId=msg.getUserId();//當前消息來自用戶的id?
????????????System.out.println(userId);
????????????if?(msg.getType().equalsIgnoreCase(“M_LOGIN“))?{?//是M_LOGIN消息?
????????????????Message?backMsg=new?Message();
????????????????//假定只有2000、3000、8000三個帳號可以登錄
????????????????if?(!userId.equals(“2000“)?&&?!userId.equals(“3000“)?&&?!userId.equals(“8000“)?&&?!userId.equals(“19215227“)?)?{//登錄不成功
????????????????????backMsg.setType(“M_FAILURE“);
????????????????????byte[]?buf=Translate.objectToByte(backMsg);
????????????????????DatagramPacket?backPacket=new?DatagramPacket(bufbuf.lengthpacket.getAddress()packet.getPort());//向登錄用戶發送的報文
????????????????????serverSocket.send(backPacket);?//發送??????????????????
????????????????}else?{?//登錄成功
????????????????????backMsg.setType(“M_SUCCESS“);
????????????????????byte[]?buf=Translate.objectToByte(backMsg);
????????????????????DatagramPacket?backPacket=new?DatagramPacket(bufbuf.lengthpacket.getAddress()packet.getPort());//向登錄用戶發送的報文
????????????????????serverSocket.send(backPacket);?//發送
????????????????????User?user=new?User();
????????????????????user.setUserId(userId);?//用戶名
????????????????????user.setPacket(packet);?//保存收到的報文
????????????????????userList.add(user);?//將新用戶加入用戶列表
????????????????????
????????????????????Iterator?it?=?fileList.iterator();
????????????????????while(it.hasNext()){
????????????????????????String?x?=?it.next();
????????????????????????it.remove();
????????????????????}
????????????????????java.io.File?filename=new?java.io.File(“./upload/“);
????????????????????????if(filename.isDirectory()){
????

評論

共有 條評論