java socket 双机通信(自己电脑)为什么无错误,却输入后没有反应

[复制链接]
查看11 | 回复1 | 2021-1-27 06:49:20 | 显示全部楼层 |阅读模式
packagebackpack;
importjava.io.*;
importjava.net.Socket;
importjava.net.ServerSocket;
importjava.net.SocketException;
classTestServer{
@SuppressWarnings("resource")
publicvoidTestServer1(){
try{//创建一个socket对象
ServerSockets=newServerSocket(1111);
Sockets1=s.accept();//socket对象调用accept方法,等待连接请求
OutputStreamos=s1.getOutputStream();//打开输出流
DataOutputStreamdos=newDataOutputStream(os);//封装输出流
InputStreamis=s1.getInputStream();//打开输入流
DataInputStreamdis=newDataInputStream(is);//封装输入流
InputStreamReaderisr=newInputStreamReader(System.in);//读取键盘输入流
BufferedReaderbr=newBufferedReader(isr);//封装键盘输入流
Stringinfo;
while(true){
info=dis.readUTF();
System.out.println("客户端说:"+info);
if(info.equals("bye"))
break;
//读取键盘的输入流
info=br.readLine();
//写入到网络连接的另一边,即客户端
dos.writeUTF(info);
//如果服务器自己说:bye,也是结束对话
if(info.equals("bye"))
break;
}
/*//关闭输入流
dis.close();
//关闭输出流
dos.close();
//关闭socket对象
s1.close();
s.close();*/
}catch(SocketExceptione){
System.out.println("网络连接异常,程序退出!");
}catch(IOExceptione){
e.printStackTrace();
}
}
}
classTestClient{
@SuppressWarnings("resource")
publicvoidTestClient1(){
try{
//创建socket对象,指定服务器的ip地址,和服务器监听的端口号
//客户端在new的时候,就发出了连接请求,服务器端就会进行处理,如果服务器端没有开启服务,那么
//这时候就会找不到服务器,并同时抛出异常==》java.net.ConnectException:Connection
//refused:connect
Sockets1=newSocket("127.0.0.1",1111);
OutputStreamos=s1.getOutputStream();//打开输出流
DataOutputStreamdos=newDataOutputStream(os);//封装输出流
InputStreamis=s1.getInputStream();//打开输入流
DataInputStreamdis=newDataInputStream(is);//封装输入流
InputStreamReaderisr=newInputStreamReader(System.in);//读取键盘输入流
BufferedReaderbr=newBufferedReader(isr);//封装键盘输入流
Stringinfo;
while(true){
info=br.readLine();//客户端先读取键盘输入信息
dos.writeUTF(info);//把他写入到服务器方
if(info.equals("bye"))//如果客户端自己说:bye,即结束对话
break;
info=dis.readUTF();//接受服务器端信息
System.out.println("服务器端说:"+info);//打印
if(info.equals("bye"))
break;
}
//关闭相应的输入流,输出流,socket对象
/*dis.close();
dos.close();
s1.close();*/
}catch(IOExceptione){
e.printStackTrace();
}
}
}
publicclassTest{
publicstaticvoidmain(Stringargs[]){
TestServera=newTestServer();
TestClientb=newTestClient();
a.TestServer1();
b.TestClient1();
}
}

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:49:20 | 显示全部楼层
求大神回复0.0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行