java,一台机器同时是客户端和服务器,服务器接收客户端信息并显示
客户端importjava.io.*;importjava.net.Socket;publicclassClient{publicstaticvoidmain(Strin...
客户端
import java.io.*;
import java.net.Socket;
public class Client
{
public static void main(String[] args)
{
try
{
Socket socket=new Socket("127.0.0.1",4700);
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
PrintWriter os=new PrintWriter(socket.getOutputStream());
String readline;
readline=sin.readLine();
while(!readline.equals("bye"))
{
os.println(readline);
os.flush();
readline=sin.readLine();
}
os.close();
socket.close();
}
catch(Exception e)
{
System.out.println("Error"+e);
}
}
}
服务器
import java.io.*;
import java.net.*;
public class Server
{
public static void main(String[] args)
{
try
{
ServerSocket server=null;
try
{
server=new ServerSocket(4700);
}
catch(Exception e)
{
System.out.println("can not listen to:"+e);
}
Socket socket=null;
try
{
socket=server.accept();
}
catch(Exception e)
{
System.out.println("Error."+e);
}
String line="";
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
while(line!=null&&line.equals("bye"))
{
line=is.readLine();
System.out.println("Server:"+line);
}
is.close();
socket.close();
server.close();
}
catch(Exception e)
{
System.out.println("Error:"+e);
}
}
}
老师说,先运行服务器,然后运行客户端,但我每次运行后,在客户端输入信息,服务器的控制台都没有显示什么(Server:+我输入的内容);有时在运行一次就出现Errorjava.net.ConnectException: Connection refused: connect。代码是书的,应该没错。不过到底是我哪一步不对,该怎么运行 展开
import java.io.*;
import java.net.Socket;
public class Client
{
public static void main(String[] args)
{
try
{
Socket socket=new Socket("127.0.0.1",4700);
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
PrintWriter os=new PrintWriter(socket.getOutputStream());
String readline;
readline=sin.readLine();
while(!readline.equals("bye"))
{
os.println(readline);
os.flush();
readline=sin.readLine();
}
os.close();
socket.close();
}
catch(Exception e)
{
System.out.println("Error"+e);
}
}
}
服务器
import java.io.*;
import java.net.*;
public class Server
{
public static void main(String[] args)
{
try
{
ServerSocket server=null;
try
{
server=new ServerSocket(4700);
}
catch(Exception e)
{
System.out.println("can not listen to:"+e);
}
Socket socket=null;
try
{
socket=server.accept();
}
catch(Exception e)
{
System.out.println("Error."+e);
}
String line="";
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
while(line!=null&&line.equals("bye"))
{
line=is.readLine();
System.out.println("Server:"+line);
}
is.close();
socket.close();
server.close();
}
catch(Exception e)
{
System.out.println("Error:"+e);
}
}
}
老师说,先运行服务器,然后运行客户端,但我每次运行后,在客户端输入信息,服务器的控制台都没有显示什么(Server:+我输入的内容);有时在运行一次就出现Errorjava.net.ConnectException: Connection refused: connect。代码是书的,应该没错。不过到底是我哪一步不对,该怎么运行 展开
2个回答
Storm代理
2023-06-05 广告
2023-06-05 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
展开全部
你这段代码就是逻辑错误..就比如客户端里这个
String line="";
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
while(line!=null&&line.equals("bye"))
{
line=is.readLine();
System.out.println("Server:"+line);
}
while循环里的东西根本不会运行的..line为空中间也没有给line赋值 服务器当然接收不到东西,连接上之后直接就退出了
String line="";
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
while(line!=null&&line.equals("bye"))
{
line=is.readLine();
System.out.println("Server:"+line);
}
while循环里的东西根本不会运行的..line为空中间也没有给line赋值 服务器当然接收不到东西,连接上之后直接就退出了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询