我正在尝试实现TCP连接,从服务器端一切正常,但是当我运行客户端程序(从客户端计算机)时,出现以下错误:

java.net.ConnectException: Connection refused

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)

at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)

at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)

at java.net.Socket.connect(Socket.java:529)

at java.net.Socket.connect(Socket.java:478)

at java.net.Socket.(Socket.java:375)

at java.net.Socket.(Socket.java:189)

at TCPClient.main(TCPClient.java:13)

我尝试更改套接字号以防万一,但无济于事,有谁知道导致此错误的原因和解决方法。

服务器代码:

//TCPServer.java

import java.io.*;

import java.net.*;

class TCPServer {

public static void main(String argv[]) throws Exception {

String fromclient;

String toclient;

ServerSocket Server = new ServerSocket(5000);

System.out.println("TCPServer Waiting for client on port 5000");

while (true) {

Socket connected = Server.accept();

System.out.println(" THE CLIENT" + " " + connected.getInetAddress()

+ ":" + connected.getPort() + " IS CONNECTED ");

BufferedReader inFromUser = new BufferedReader(

new InputStreamReader(System.in));

BufferedReader inFromClient = new BufferedReader(

new InputStreamReader(connected.getInputStream()));

PrintWriter outToClient = new PrintWriter(

connected.getOutputStream(), true);

while (true) {

System.out.println("SEND(Type Q or q to Quit):");

toclient = inFromUser.readLine();

if (toclient.equals("q") || toclient.equals("Q")) {

outToClient.println(toclient);

connected.close();

break;

} else {

outToClient.println(toclient);

}

fromclient = inFromClient.readLine();

if (fromclient.equals("q") || fromclient.equals("Q")) {

connected.close();

break;

} else {

System.out.println("RECIEVED:" + fromclient);

}

}

}

}

}

客户代码:

//TCPClient.java

import java.io.*;

import java.net.*;

class TCPClient {

public static void main(String argv[]) throws Exception {

String FromServer;

String ToServer;

Socket clientSocket = new Socket("localhost", 5000);

BufferedReader inFromUser = new BufferedReader(new InputStreamReader(

System.in));

PrintWriter outToServer = new PrintWriter(

clientSocket.getOutputStream(), true);

BufferedReader inFromServer = new BufferedReader(new InputStreamReader(

clientSocket.getInputStream()));

while (true) {

FromServer = inFromServer.readLine();

if (FromServer.equals("q") || FromServer.equals("Q")) {

clientSocket.close();

break;

} else {

System.out.println("RECIEVED:" + FromServer);

System.out.println("SEND(Type Q or q to Quit):");

ToServer = inFromUser.readLine();

if (ToServer.equals("Q") || ToServer.equals("q")) {

outToServer.println(ToServer);

clientSocket.close();

break;

} else {

outToServer.println(ToServer);

}

}

}

}

}

java 拒绝连接_java.net.ConnectException:连接被拒绝相关推荐

  1. java线程池_Java 线程池 8 大拒绝策略,面试必问!

    点击上方 Java后端,选择设为星标 技术博文,及时送达 前言 谈到java的线程池最熟悉的莫过于ExecutorService接口了,jdk1.5新增的java.util.concurrent包下的 ...

  2. java derby连接_JAVA-Derby连接

    陌上尘 阅读(1572) 评论(0)  编辑  收藏 所属分类: JAVA-J2EE import java.sql.SQLException; /** * 第一个 JDBC 的 HelloWorld ...

  3. java rds 数据库_Java程序如何连接RDS MySQL

    您可以通过代码连接云数据库RDS MySQL版的测试程序,示例代码如下. import java.sql.Connection; import java.sql.DriverManager; impo ...

  4. java preparedstatement 关闭_java - 如果基础连接已关闭,为什么isClosed()方法对PreparedStatements不返回true? - 堆栈内存溢出...

    就像标题所说的那样,我想知道为什么准备好的语句.isClosed()方法在关闭基础流(使用JDBC)后将返回false. public void someTest() throws SQLExcept ...

  5. 如何强制java服务器只接受tls 1.2并拒绝tls 1.0和tls 1.1连接

    如何强制java服务器只接受tls 1.2并拒绝tls 1.0和tls 1.1连接 javaweb项目使用tomcat作为运行服务器,使用默认传输协议进行传输,结果被安全软件扫描出漏洞,建议禁止tls ...

  6. java http连接_Java中通过方法创建一个http连接并请求(服务器间进行通信)

    服务器间进行通信只能通过流(Stream)的方式进行,不能用方法的返回值. 1.Java代码创建一个连接并请求该连接返回的数据 doGet()方法,execute()方法中调用 package dem ...

  7. java 远程shell脚本_java通过ssh连接服务器执行shell命令详解及实例

    java通过ssh连接服务器执行shell命令详解 java通过ssh连接服务器执行shell命令:JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转 ...

  8. java长连接转短连接_java原生程序redis连接(连接池/长连接和短连接)选择问题...

    原标题:java原生程序redis连接(连接池/长连接和短连接)选择问题 最近遇到的连接问题我准备从重构的几个程序(redis和mysql)长连接和短连接,以及连接池和单连接等问题用几篇博客来总结下. ...

  9. java c3p0 存储过程_JAVA Spring 连接池 调用 Oracle 存储过程的问题?

    求助,JAVA Spring 连接池 调用 Oracle 存储过程的问题?在Spring中配置了c3P0的连接池,在调用Oracle的存储过程时,报错[code]java.lang.ClassCast ...

最新文章

  1. 【ACM】杭电OJ 1009 (FatMouse' Trade)。
  2. 点云配准求物体的6D姿态(转)
  3. hdu1428 spfa+记忆化搜索
  4. 直播 | 商汤科技X-Lab宋广录:大规模视觉检测任务的检测器设计与优化
  5. linux tar 使用
  6. Netweaver里某个software component和C4C的版本
  7. 【转合辑】squid的安装配置
  8. 神经网络模型中class的forward函数何时调用_总结深度学习PyTorch神经网络箱使用...
  9. 第十三节:HttpHander扩展及应用(自定义扩展名、图片防盗链)
  10. 树莓派 4B 配置 Ubuntu20.04 和 ROS2
  11. linux 防火墙 80端口,Linux配置防火墙,开启80端口、3306端口
  12. matlab 电流相量图,表示了电路电压相量与电流相量之间的关系.ppt
  13. python手册app_Python 中文手册离线版下载_Python3.6中文手册CHM下载 Python3.6中文手册CHM 免费版_当载软件站...
  14. 论文绘图-教你如何绘制响应面
  15. RK3288 Android7.1软件开发指南
  16. 9. 面向对象基础(下)
  17. Unity 制作数字图片字体
  18. educoder 2-2Python 计算思维训练——循环与列表(二)
  19. 国外ERP产品点评 (转载)
  20. 智商黑洞(门萨Mensa测试)1

热门文章

  1. python添加高斯白噪声及其原理
  2. linux中mysql客户端命令行连接不了 docker 创建的mysql
  3. 抽中H1B回国有风险? 还没消息代表没中签? H1B审理期间常见问题解答
  4. vue3-vite项目语法及遇到的问题
  5. 剪映 for Mac(全能好用的视频编辑工具)
  6. UML 类图、类与类之间关系
  7. SRC挖掘思路及方法
  8. 什么是继承,什么是多态,方法的重载和覆盖有何区别?
  9. 小米申请 MIX 商标被驳回
  10. 做什么网站挣钱,这几种类型的网站可能适合你!