socket编程,客户端读取不了服务器的数据

编程初学者在实现Java Socket编程时遇到问题,客户端在读取服务器关于用户登录验证的响应时出现阻塞。代码中,`client.setValid(client.br.read());`这行未能读取到数据。问题可能源于Socket的阻塞特性。寻求解决方案。
摘要由CSDN通过智能技术生成

编程小白
想通过服务器读取数据库中的数据,判断用户是否成功登陆,然后把结果发送给客户端。
辛辛苦苦debug之后,发现在判断登陆的页面,client.setValid(client.br.read()); 这一行读不到数据,
查资料之后发现是socket阻塞。
求问大佬应该怎么解决啊~~
以下是代码部分:

客户端

public class Client{

private String password;
private String username;
private int valid=0;
private Socket s;


public BufferedReader br;
public BufferedWriter out;

public Client(){
	try {
		s=new Socket(InetAddress.getByName("127.0.0.1"),Server.Server.SERVER_PORT);
	} catch (IOException e) {
		e.printStackTrace();
	}
	try {
		out=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
		br=new BufferedReader(new InputStreamReader(s.getInputStream()));
	} catch (IOException e) {
		e.printStackTrace();
	}
	
	
}

public int getValid() {
	return valid;
}

public void setValid(int valid) {
	this.valid = valid;
}

public String getPassword() {
	return pas
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值