怎么从服务器传输信息,大神们socket如何连接到服务器并判断从服务器传送回来的数据 谢谢谢谢 跪求啊 急用...

该博客展示了如何使用Java的Socket编程构建一个简单的服务器,它监听特定端口并接收客户端连接。服务器从客户端接收到User对象,验证用户名和密码,然后返回验证结果。客户端则发送User对象包含的用户名和密码给服务器。此示例涉及网络I/O流的使用,包括ObjectInputStream和DataOutputStream。
摘要由CSDN通过智能技术生成

搭建的服务器

public class TestServer {

@SuppressWarnings("deprecation")

public static void main(String[] args) throws IOException,

ClassNotFoundException {

// 创建服务器对象

String address = InetAddress.getLocalHost().getHostAddress();

boolean flag = true;

ServerSocket server = null;

InputStream in = null;

ObjectInputStream ois = null;

OutputStream out = null;

User user = null;

DataOutputStream dout = null;

try {

server = new ServerSocket(9099);

// 等待链接

while(true) {

Socket socket = server.accept();

// 接受客户端传来的信息 获取网络的输入流

in = socket.getInputStream();

// 4包装输入流

ois = new ObjectInputStream(in);

// 读取一个user对象

user = (User) ois.readObject();

// 获取用户密码和对象 并进行比较

String name = user.getName();

String pwd = user.getPwd();

if ("小花".equals(name) && "123".equals(pwd)) {

}

// h获取网络输出流

out = socket.getOutputStream();

// 包装输出流

dout = new DataOutputStream(out);

// 将比较结果反馈给客户

dout.writeBoolean(flag);

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

客户端

public static void main(String[] args) {

Socket socket=null;

try {

//创建一个客户

socket=new Socket(address,9999);

System.out.println("输入用户名和密码");//2获取用户的输入

Scanner scan =new Scanner(System.in);

String name=scan.next();

String pwd=scan.next();

User user=new User(name,pwd);//3将用户输入的用户名和密码封装到一个User对象中

OutputStream out =socket.getOutputStream();//4h获取网络输出流

ObjectOutputStream oos=new ObjectOutputStream(out);//5包装输出流

oos.writeObject(user);//传user对象

//等待服务器反馈 创建网络输入流

//8读区服务器判断结果端Socket对象

} catch (UnknownHostException e) {

e.printStackTrace();

}catch(IOException e){

e.printStackTrace();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值