java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at java.io.DataOutputStream.write(Unknown Source)
at java.io.DataOutputStream.writeUTF(Unknown Source)
at java.io.DataOutputStream.writeUTF(Unknown Source)
at SignUp.setUser(SignUp.java:225)
at SignUp.jButton1_actionPerformed(SignUp.java:207)
at SignUp.access$3(SignUp.java:201)
at SignUp$4.actionPerformed(SignUp.java:135)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
注册.java
/********************************************************/
/* SignUp */
/********************************************************/
import java.awt.*;
import java.awt.event.*;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;
import javax.swing.*;
/**
* Summary description for SignUp
*/
public class SignUp extends JFrame {
// Variables declaration
private JLabel jLabel1;
private JLabel jLabel2;
private JLabel jLabel3;
private JLabel jLabel4;
private JTextField jTextField1;
private JTextField jTextField2;
private JTextField jTextField3;
private JButton jButton1;
private JButton jButton2;
private JPanel contentPane;
private String username;
private String password;
private String port;
private Socket socket;
private DataOutputStream dos;
private DataInputStream dis;
private ImageIcon image1;
// End of variables declaration
public SignUp() {
super();
initializeComponent();
//
// TODO: Add any constructor code after initializeComponent call
//
this.setVisible(true);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Windows Form Designer. Otherwise, retrieving design
* might not work properly. Tip: If you must revise this method, please
* backup this GUI file for JFrameBuilder to retrieve your design properly
* in future, before revising this method.
*/
private void initializeComponent() {
image1 = new ImageIcon("SIGNUP.jpg");
jLabel1 = new JLabel();
jLabel2 = new JLabel();
jLabel3 = new JLabel();
jLabel4 = new JLabel(image1);
jTextField1 = new JTextField();
jTextField2 = new JTextField();
jTextField3 = new JTextField();
jButton1 = new JButton();
jButton2 = new JButton();
contentPane = (JPanel) this.getContentPane();
//
// jLabel1
//
jLabel1.setText("NAME");
//
// jLabel2
//
jLabel2.setText("PASSWORD");
//
// jLabel3
//
jLabel3.setText("PORT");
//
// jLabel4
//
//jLabel4.setText("jLabel4");
//
// jTextField1
//
jTextField1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jTextField1_actionPerformed(e);
}
});
//
// jTextField2
//
jTextField2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jTextField2_actionPerformed(e);
}
});
//
// jTextField3
//
jTextField3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jTextField3_actionPerformed(e);
}
});
//
// jButton1
//
jButton1.setText("SUBMIT");
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton1_actionPerformed(e);
}
});
//
// jButton2
//
jButton2.setText("RESET");
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton2_actionPerformed(e);
}
});
//
// contentPane
//
contentPane.setLayout(null);
addComponent(contentPane, jLabel1, 55, 100, 100, 40);
addComponent(contentPane, jLabel2, 55, 157, 100, 40);
addComponent(contentPane, jLabel3, 55, 210, 100, 40);
addComponent(contentPane, jLabel4, 25, 10, 300, 75);
addComponent(contentPane, jTextField1, 189, 99, 120, 40);
addComponent(contentPane, jTextField2, 188, 153, 120, 40);
addComponent(contentPane, jTextField3, 190, 209, 120, 40);
addComponent(contentPane, jButton1, 65, 267, 100, 40);
addComponent(contentPane, jButton2, 189, 265, 100, 40);
//
// SignUp
//
this.setTitle("SignUp - extends JFrame");
this.setLocation(new Point(0, 0));
this.setSize(new Dimension(370, 366));
}
/** Add Component Without a Layout Manager (Absolute Positioning) */
private void addComponent(Container container, Component c, int x, int y,
int width, int height) {
c.setBounds(x, y, width, height);
container.add(c);
}
//
// TODO: Add any appropriate code in the following Event Handling Methods
//
private void jTextField1_actionPerformed(ActionEvent e) {
System.out
.println("\njTextField1_actionPerformed(ActionEvent e) called.");
// TODO: Add any handling code here
}
private void jTextField2_actionPerformed(ActionEvent e) {
System.out
.println("\njTextField2_actionPerformed(ActionEvent e) called.");
// TODO: Add any handling code here
}
private void jTextField3_actionPerformed(ActionEvent e) {
System.out
.println("\njTextField3_actionPerformed(ActionEvent e) called.");
// TODO: Add any handling code here
}
private void jButton1_actionPerformed(ActionEvent e) {
System.out.println("\njButton1_actionPerformed(ActionEvent e) called.");
// TODO: Add any handling code here
username = jTextField1.getText();
password = jTextField2.getText();
port = jTextField3.getText();
setUser(username, password, port);
}
private void jButton2_actionPerformed(ActionEvent e) {
System.out.println("\njButton2_actionPerformed(ActionEvent e) called.");
// TODO: Add any handling code here
}
public void setUser(String username, String password, String port) {
try {
new source();
if (true) {
socket = new Socket("localhost", 3306);
dos = new DataOutputStream(socket.getOutputStream());
source.gdelete();
dos.writeUTF("Signup");
dos.writeUTF("user");
dos.writeUTF("pass");
dos.writeUTF(port);
dis = new DataInputStream(socket.getInputStream());
String response = dis.readUTF();
if (response.equalsIgnoreCase("success")) {
System.out.println("Success...");
} else {
System.out.println("Failure...");
}
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
//
// TODO: Add any method code to meet your needs in the following area
//
// ============================= Testing ================================//
// = =//
// = The following main method is just for testing this class you built.=//
// = After testing,you may simply delete it. =//
// ======================================================================//
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
/*try {
UIManager
.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (Exception ex) {
System.out.println("Failed loading L&F: ");
System.out.println(ex);
}*/
new SignUp();
}
// = End of Testing =
}
基本上在我的应用程序中,我试图创建一个发送者和一个接收者。但我无法注册用户。不断收到此错误已尝试在线解决方案,但没有帮助。
socket = new Socket("localhost", 3306);//when I change the port number I get an error saying connection refused.
dos = new DataOutputStream(socket.getOutputStream());
source.gdelete();
dos.writeUTF("Signup");//the exception is raised the moment I hit the next line
dos.writeUTF("user");
dos.writeUTF("pass");
dos.writeUTF(port);