欢迎光临散文网 会员登陆 & 注册

Java网络编程,定义用户类,实现序列化接口,客户端发送内容,登录注册【诗书画唱】

2020-08-07 00:23 作者:诗书画唱  | 我要投稿

我和我文字的故事:开始写作的契机是我想记录我认为重要的一切!是为了不枉活过人生这一遭!是为了证明我曾存在过!



定义用户类,该类实现序列化接口,定义属性uname,pwd,
提示用户输入用户名和密码保存到对应的属性中,将内容使用对象
传入到服务器端,解析传入的用户名和密码,如果用户名是”给诗书画唱三连关注“,密码
是”给诗书画唱三连关注“,就登录成功,否则登录失败,在其基础上,判断用户名和密码是否正确,正确则服务器向客户端

发送内容,登录成功,客户端接收服务器发送的内容,错误则发送登录失败
也是由客户端进行接收服务器发送的内容



package dengLu;


import java.io.*;

import java.net.*;

import java.util.Scanner;

public class fuWuDuan {

public static void main(String[] args) throws Exception{


fuWuDuanFangFa();


}


private static void fuWuDuanFangFa() throws 

SocketException, IOException,

ClassNotFoundException {

System.out.println("UDP的服务器端开启了"

+ "用户名和密码都为"

+ "“给诗书画唱三连关注”");

DatagramSocket DatagramSocket

=new DatagramSocket(27222);

byte[] byteArray1=new byte[1024];

DatagramPacket DatagramPacket1=new 

DatagramPacket(byteArray1,byteArray1.length);

DatagramSocket.receive(DatagramPacket1);

//:堵塞性的接收内容

byte[] byteArray2=DatagramPacket1.getData();

int len2=DatagramPacket1.getLength();

ByteArrayInputStream ByteArrayInputStream2=new 

ByteArrayInputStream(byteArray2,0,len2);

ObjectInputStream ObjectInputStream=new 

ObjectInputStream(ByteArrayInputStream2);

yongHuClass yongHuClass=(yongHuClass)

ObjectInputStream.readObject();

if(yongHuClass.uname.trim().

equals("给诗书画唱三连关注")

&&yongHuClass.pwd.trim()

.equals("给诗书画唱三连关注")){

String String="登录成功";

DatagramPacket DatagramPacket=

new DatagramPacket(String.getBytes(),

String.getBytes().length,new 

InetSocketAddress("localhost",17111));

DatagramSocket.send(DatagramPacket);

}else{

String StringFalse="登录失败";

DatagramPacket DatagramPacketFalse=new DatagramPacket

(StringFalse.getBytes(),

StringFalse.getBytes().length,

new InetSocketAddress("localhost",17111));

DatagramSocket.send(DatagramPacketFalse);

}

DatagramSocket.close();

}}



package dengLu;


import java.util.*;

import java.io.*;

import java.net.*;



public class keHuDuan {

public static void main(String[] args)throws Exception {


keHuDuanFangFa();


}



private static void keHuDuanFangFa() throws 

SocketException, IOException {

System.out.println("UDP的客户端开启了");

Scanner s=new Scanner(System.in);

System.out.println("请输入用户名");

String uname=s.next();

System.out.println("请输入用户密码");

String pwd=s.next();

yongHuClass yongHuClass=new yongHuClass(uname,pwd);

DatagramSocket DatagramSocket

=new DatagramSocket(17111);

ByteArrayOutputStream ByteArrayOutputStream=

new ByteArrayOutputStream();

ObjectOutputStream ObjectOutputStream=

new ObjectOutputStream(ByteArrayOutputStream);

ObjectOutputStream.writeObject(yongHuClass);

byte[] byteArray1=ByteArrayOutputStream.toByteArray();

DatagramPacket DatagramPacket1

=new DatagramPacket(byteArray1,byteArray1.length

,new InetSocketAddress("localhost",27222));

DatagramSocket.send(DatagramPacket1);

byte[] byteArray2=new byte[1024*60];

DatagramPacket DatagramPacket2=new DatagramPacket

(byteArray2,byteArray2.length);

DatagramSocket.receive(DatagramPacket2);

byte[] byteArray3=DatagramPacket2.getData();

int len3=DatagramPacket2.getLength();

String StringPrintOut=new String(byteArray3,0,len3);

System.out.println(StringPrintOut);

DatagramSocket.close();

}



}

//用户类:

class yongHuClass implements Serializable{

String uname,pwd;

public yongHuClass(String uname,String pwd){

this.uname=uname;

this.pwd=pwd;

}

@Override

public String toString() {

return "yonghu [uname=" + uname 

+ ", pwd=" + pwd + "]";

}


}




Java网络编程,定义用户类,实现序列化接口,客户端发送内容,登录注册【诗书画唱】的评论 (共 条)

分享到微博请遵守国家法律