Não conecta

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”); // NOI18N

      chatBox.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]

Ta conectando ao 189.4.119.221 ?
Nele tem algum programa rodando pra pegar a conexão?

(“189.4.119.221:Porta”);