为什么这个错误“java.net.SocketException:Connection reset”在运行服务器和客户端时 [英] WHY THIS ERROR "java.net.SocketException: Connection reset" while running sever and client
本文介绍了为什么这个错误“java.net.SocketException:Connection reset”在运行服务器和客户端时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的srever程序
package server_socket;
import java.io. *;
import java.net.ServerSocket;
import java.net.Socket;
class Server_socket
{
public 静态 void main( String [ ] args) throws IOException
{
try
{
ServerSocket sk = new ServerSocket( 9999 );
Socket sock = sk .accept();
BufferedReader br = new BufferedReader( new InputStreamReader(sock.getInputStream()));
String temp = br.readLine();
System.out.println( 来自客户端的消息是:: + temp) ;
PrintStream pr = new PrintStream(sock.getOutputStream());
字符串 str = 来自服务器的确认 跨度>;
pr.println(str);
}
catch (例外情况)
{
}
}
}
我的客户计划
package client_socket;
import java.io. *;
import java.net.Socket;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
class client_socket
{
public static void main( String [] args)< span class =code-keyword> throws IOException
{
Connection c = null;
语句stmt = null;
尝试
{
Socket sock = new 套接字( 10.176.24.48, 9999 );
PrintStream pr = new PrintStream(sock.getOutputStream());
System.out.println( 输入要发送给服务器的消息);
BufferedReader br = new BufferedReader( new InputStreamReader(System.in));
String temp = br.readLine();
pr.println(temp);
BufferedReader ed = new BufferedReader( new InputStreamReader(sock.getInputStream()));
String st = ed.readLine();
System.out.println(st);
Class.forName( org.postgresql.Driver);
c = DriverManager
.getConnection( jdbc:postgresql://10.176.24.48:5432 / postgres,
postgres, );
stmt = c.createStatement();
字符串 sql = 创建数据库TEST_DB_1编码'UTF8'跨度>;
stmt.executeUpdate(sql);
stmt.close();
c.close();
}
catch (Exception ex)
{
System.err.println(ex.getClass) ()。getName()+ : + ex.getMessage());
System.exit( 0 );
}
System.out.println( DBcreated successfully);
}
}
解决方案
尝试 {
[]花式代码]
}
catch (Exception ex)
{
ex.printStackTrace(); // 使用此
}
这应该可以帮助您查看错误。
大多数情况下,由于防火墙等原因,它是其中一台机器不接受连接
my srever program
package server_socket;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
class Server_socket
{
public static void main(String[] args) throws IOException
{
try
{
ServerSocket sk = new ServerSocket (9999);
Socket sock =sk .accept();
BufferedReader br=new BufferedReader(new InputStreamReader(sock.getInputStream()));
String temp=br.readLine();
System.out.println("The mesage from client is::"+temp);
PrintStream pr=new PrintStream(sock.getOutputStream());
String str = "acknowledgement from server";
pr.println(str);
}
catch (Exception ex)
{
}
}
}
my client program
package client_socket;
import java.io.*;
import java.net.Socket;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
class client_socket
{
public static void main(String[] args) throws IOException
{
Connection c = null;
Statement stmt = null;
try
{
Socket sock = new Socket("10.176.24.48",9999);
PrintStream pr=new PrintStream(sock.getOutputStream());
System.out.println("enter the message to be send to server");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String temp = br.readLine();
pr.println(temp);
BufferedReader ed=new BufferedReader(new InputStreamReader(sock.getInputStream()));
String st = ed.readLine();
System.out.println(st);
Class.forName("org.postgresql.Driver");
c = DriverManager
.getConnection("jdbc:postgresql://10.176.24.48:5432/postgres",
"postgres", "");
stmt = c.createStatement();
String sql = "CREATE DATABASE TEST_DB_1 ENCODING 'UTF8'";
stmt.executeUpdate(sql);
stmt.close();
c.close();
}
catch(Exception ex)
{
System.err.println(ex.getClass().getName()+": "+ex.getMessage());
System.exit(0);
}
System.out.println("DBcreated successfully");
}
}
解决方案
try{ []fancy code] } catch(Exception ex) { ex.printStackTrace(); // use this }
That should help you to see the error.
Most times it's one of the machines not accepting the connection due to firewall etc.
这篇关于为什么这个错误“java.net.SocketException:Connection reset”在运行服务器和客户端时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文