BUG日记(四) socket基础练习

今天复习到socket通信,在写了简单的通信代码,服务端与客户端始终无法实现数据传输

服务器端:

/*
 * 服务端
 */
public class server {

	
	public static void main(String args[]) throws IOException{
		//定义服务端
		ServerSocket server=new ServerSocket(7777);
		//接入客户端
			Socket currentCilent=server.accept();
			//读数据 接受请求
			InputStreamReader request=new InputStreamReader(currentCilent.getInputStream(),"UTF-8");
			BufferedReader reader=new BufferedReader(request);
			String s=reader.readLine();
			 s=s+"_word";
				//发送给客户端 写数据 返回响应
				PrintWriter response=new PrintWriter(new OutputStreamWriter(currentCilent.getOutputStream(),"UTF-8"));
				**response.print(s);**
				response.flush();
			//关闭客户端请求
			currentCilent.close();
			 
		
	}
}

客户端:


public class client {

	
	
	public static void main(String args[]) throws IOException{
		//建立和服务器的连接
		Socket client =new Socket("localhost",7777); 
		
		//写数据 发送请求...
		PrintWriter request=new PrintWriter(new OutputStreamWriter(client.getOutputStream(),"UTF-8"));
		**request.print("hello");**
		request.flush();
		
		//接收返回的数据
		//InputStreamReader is=new InputStreamReader(client.getInputStream(),"utf-8");
		BufferedReader response=new BufferedReader(new InputStreamReader(client.getInputStream(),"UTF-8"));
		String s=	response.readLine();
		//处理数据
		System.out.print("客户端接收到的回应:"+s);
		
		client.close();
	}
	
}

报错 信息:
提示连接不到
寻寻觅觅仔细检查发现:
request.print(“hello”);//问题出在这句话上 ,导致无法连接
改为 request.println(“hello”);bug解决。
那么 ,
print()和println()区别是什么呢? 因为没有报错,编译可以通过。

查找jdk手册:
printWriter类发现:
print(String s)
打印字符串。
println(String x)
打印 String,然后终止该行。

所以,之前写print()并没有终止所以导致程序出现问题??
有待商榷,希望高手可以指点迷津~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值