Oi, estou tentando fazer o execício de montar um chat pelo livro Java - Use a cabeça. Mas o Socket não conecta!
Meu código:
[code]import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
/*
- prjFrame.java
- Created on 13/09/2002, 04:30:32
*/
/**
*
-
@author User
*/
public class prj extends javax.swing.JFrame implements ActionListener {Socket sock;
PrintWriter writer;/** Creates new form prjFrame */
public prj() {
super(“Chat”);
initComponents();
}/** 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 Form Editor.
*/
@SuppressWarnings(“unchecked”)
//
private void initComponents() {
setUpNetworking();
jScrollPane1 = new javax.swing.JScrollPane();
chatBox = new javax.swing.JTextArea();
chatField = new javax.swing.JTextField();
sendButton = new javax.swing.JButton();
sendButton.addActionListener(this);setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBackground(new java.awt.Color(255, 255, 255));
setName(“mainFrame”); // NOI18NchatBox.setColumns(20);
chatBox.setEditable(false);
chatBox.setRows(5);
jScrollPane1.setViewportView(chatBox);sendButton.setText(“Send”);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(chatField)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(sendButton))
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 355, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(19, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(17, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(chatField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(sendButton))
.addGap(19, 19, 19))
);java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-400)/2, (screenSize.height-200)/2, 400, 200);
}//
/**
-
@param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new prj().setVisible(true);
}
});
}
public javax.swing.JTextArea chatBox;
public javax.swing.JTextField chatField;
private javax.swing.JScrollPane jScrollPane1;
public javax.swing.JButton sendButton;public void actionPerformed(ActionEvent e) {
try {
writer.println(chatField.getText());
writer.flush();
}
catch (Exception ex) {
ex.printStackTrace();
}
chatField.setText("");
chatField.requestFocus();
}private void setUpNetworking() {
try {
sock = new Socket(“189.4.119.221”, 7777);
writer = new PrintWriter(sock.getOutputStream());
System.out.println(“Connection estabilished.”);
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}[/code] -
erros:
[quote]java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at java.net.Socket.(Socket.java:372)
at java.net.Socket.(Socket.java:186)
at prj.setUpNetworking(prj.java:120)
at prj.initComponents(prj.java:42)
at prj.(prj.java:31)
at prj$1.run(prj.java:96)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)[/quote]