Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用telnet和服务器套接字连接到您自己的电脑。每次都拒绝连接_Java_Sockets_Telnet - Fatal编程技术网

Java 使用telnet和服务器套接字连接到您自己的电脑。每次都拒绝连接

Java 使用telnet和服务器套接字连接到您自己的电脑。每次都拒绝连接,java,sockets,telnet,Java,Sockets,Telnet,我已经在下面粘贴了我的全部代码,其中大部分与问题无关。我正在尝试创建一个Java服务器,然后使用telnet连接到它(在同一台PC上),并输出随机字符串。到目前为止,我无法克服每次我通过telnet连接到我的电脑时都会被拒绝的局面。出于某种原因,我成功地在课堂上连接到了我的大学电脑,但不在家 我在下面列出了代码。是否有我应该打开的端口,或者可能是Windows 10或其他系统的问题?我对Sockets很陌生,所以我不知道自己在说什么 package cm3033.lab3.ex1nonthre

我已经在下面粘贴了我的全部代码,其中大部分与问题无关。我正在尝试创建一个Java服务器,然后使用telnet连接到它(在同一台PC上),并输出随机字符串。到目前为止,我无法克服每次我通过telnet连接到我的电脑时都会被拒绝的局面。出于某种原因,我成功地在课堂上连接到了我的大学电脑,但不在家

我在下面列出了代码。是否有我应该打开的端口,或者可能是Windows 10或其他系统的问题?我对Sockets很陌生,所以我不知道自己在说什么

package cm3033.lab3.ex1nonthreadedechoserver; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class MainAppEx1NonThreadedEchoServer { public static void main(String[] args) { try { ServerSocket s = new ServerSocket(8189) ; // listen for a connection request on server socket s // incoming is the connection socket for(;;) { Socket incoming = s.accept() ; // set up streams for bidirectional transfer // across connection socket BufferedReader in = new BufferedReader (new InputStreamReader(incoming.getInputStream())) ; PrintWriter out = new PrintWriter (incoming.getOutputStream(), true /* auto flush */) ; out.println("You are connected to " + incoming.getLocalAddress().getHostName() + " on port " + incoming.getLocalPort() ) ; out.println("Type BYE to quit") ; boolean done = false ; while(!done) { String str = in.readLine() ; if (str == null) done = true ; else { out.println("ECHO: " + str) ; if (str.trim().equals("BYE")) done = true ; } } incoming.close() ; } } catch(Exception e) { System.out.println(e) ; } } }</code>
包cm3033.lab3.ex1nonthreadedechoserver; 导入java.io.BufferedReader; 导入java.io.InputStreamReader; 导入java.io.PrintWriter; 导入java.net.ServerSocket; 导入java.net.Socket; 公共类MainAppEx1NonThreadedEchoServer { 公共静态void main(字符串[]args) { 尝试 { ServerSocket s=新的ServerSocket(8189); //侦听服务器套接字上的连接请求 //传入的是连接套接字 对于(;;) { 套接字传入=s.accept(); //设置双向传输的流 //交叉连接插座 BufferedReader in=新的BufferedReader (新的InputStreamReader(incoming.getInputStream()); PrintWriter out=新的PrintWriter (incoming.getOutputStream(),true/*自动刷新*/); out.println(“您已连接到”+ 传入的.getLocalAddress().getHostName()+ “在端口上”+传入的.getLocalPort() ) ; out.println(“键入BYE以退出”); 布尔完成=假; 而(!完成) { 字符串str=in.readLine(); 如果(str==null) 完成=正确; 其他的 { out.println(“ECHO:+str”); 如果(str.trim()等于(“BYE”)) 完成=正确; } } incoming.close(); } } 捕获(例外e) { 系统输出打印ln(e); } } } 下图是我尝试远程登录时收到的信息


您尝试在不提供端口号的情况下执行telnet,因此默认为23。但是,您已经使用端口8189设置了服务器


用telnet s-PC 8189来代替。

哦,天哪,这太简单了,但我太笨了。。。这很有效。非常感谢:)您收到“连接被拒绝”或“连接超时”。不是“拒绝连接”。不要在这里张贴文字图片。张贴文本。