为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

4 回答

不要关闭输入流,去掉客户端的s.shutdownInput试一试

0 回复 有任何疑惑可以回复我~

反正所有的解决办法都是报错,好像只能绕过,避免问题出现

0 回复 有任何疑惑可以回复我~

小可爱也是报错了么?我现在才接触,准备入手?

0 回复 有任何疑惑可以回复我~
服务器端:
package zx_Socket;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;


/**
 * 
 * @author yingmanji
 * @修改日期:
 * @描述:模拟慕课视频中的服务端
 *
 */
public class TcpServer3 {
	public static void main(String[] args) {
		try {
			ServerSocket ss=new ServerSocket(8888);
			System.out.println("服务器已开启,等待连接");
			Socket s=ss.accept();
			InputStream is=s.getInputStream();
			InputStreamReader isr=new InputStreamReader(is);
			BufferedReader br=new BufferedReader(isr);
			String info=null;
			while((info=br.readLine())!=null) {
				System.out.println("我是服务端,客户端说:"+info);
			}
			s.shutdownInput();
			
			OutputStream out=s.getOutputStream();
			PrintWriter pw=new PrintWriter(out);
			pw.write("欢迎您");
			pw.flush();
			s.shutdownOutput();
			
			//关闭资源
			pw.close();
			out.close();
			br.close();
			isr.close();
			is.close();
			s.close();
			ss.close();
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
}

客户端:
package zx_Socket;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class TcpClient3 {
	public static void main(String[] args) {
		try {
			Socket s=new Socket("localhost",8888);
			OutputStream out=s.getOutputStream();
			
			PrintWriter pw=new PrintWriter(out);
			pw.println("hello,我是admin");
			pw.flush();
			s.shutdownOutput();
			
			InputStream is=s.getInputStream();
			InputStreamReader isr=new InputStreamReader(is);
			BufferedReader br=new BufferedReader(new InputStreamReader(is));
			String info=null;
			while((info=br.readLine())!=null) {
				System.out.println(info);
				
			}
			s.shutdownInput();
			
			br.close();
			isr.close();
			is.close();
			pw.close();
			out.close();
			s.close();
			
			
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
}


0 回复 有任何疑惑可以回复我~
#1

慕粉1344475936 提问者

有没有跟我一样报SocketException:Connection reset异常的同学?
2017-10-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java Socket应用---通信是这样练成的
  • 参与学习       125013    人
  • 解答问题       590    个

分享的是 Java 中的网络编程,使用Socket实现网络聊天通信

进入课程

SocketException

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信