2014-09-06 4 views
-1

간단한 채팅 클라이언트를 만들려고하고 있지만 어떻게 든 연결이 작동하지 않습니다. 너 나 좀 도와 줄 수있어? 내가 그것을 실행했을 때 내가 가진채팅 연결이 작동하지 않습니다.

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.io.*; 
import java.net.*; 
import java.util.*; 

public class game implements ActionListener{ 
    JTextArea incoming; 
    JTextField outgoing; 
    BufferedReader reader; 
    PrintWriter writer; 
    Socket sock; 

    public static void main(String [] args){ 
     game g = new game(); 
     g.go(); 

    }public void go(){ 
     JFrame frame = new JFrame("Chat"); 
     JButton sendB = new JButton("Send"); 
     JPanel mainPanel = new JPanel(); 
     incoming = new JTextArea(15,50); 

     incoming.setLineWrap(true); 
     incoming.setWrapStyleWord(true); 
     incoming.setEditable(false); 

      JScrollPane s = new JScrollPane(incoming); 
      s.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); 
      s.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);  

     outgoing = new JTextField(25); 
     sendB.addActionListener(this); 
     mainPanel.add(s); 
     mainPanel.add(outgoing); 
     mainPanel.add(sendB); 
     setUpnetworking(); 

     Thread readerThread = new Thread(new IncomingReader()); 
     readerThread.start(); 

     frame.getContentPane().add(BorderLayout.CENTER, mainPanel); 
     frame.setVisible(true); 
     frame.setSize(800,500); 
     frame.setResizable(false); 

    }public void actionPerformed(ActionEvent e){ 
     try{ 
      writer.println(outgoing.getText()); 
      writer.flush(); 
     }catch(Exception ex){ 
      ex.printStackTrace(); 
     } 
     outgoing.setText(""); 
     outgoing.requestFocus(); 
    }public void setUpnetworking(){ 
     try { 
      sock = new Socket("127.0.0.1", 5000); 
      InputStreamReader streamreader = new InputStreamReader(sock.getInputStream()); 
      reader = new BufferedReader(streamreader); 
      writer = new PrintWriter(sock.getOutputStream()); 
      System.out.println("Connection Established"); 
     } catch (IOException exx) { 
      exx.printStackTrace(); 
     } 

    }public class IncomingReader implements Runnable{ 
     public void run(){ 
      String message; 
      try{ 
       while ((message = reader.readLine()) != null){ 
        System.out.println("read" + message); 
        incoming.append(message + "\n"); 
       } 

       }catch (Exception exx){exx.printStackTrace();} 
      } 
     } 
} 

오류 :이 내가 쓴 것입니다

java.net.ConnectException: Connection refused: connect 
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
    at java.net.PlainSocketImpl.connect(Unknown Source) 
    at java.net.SocksSocketImpl.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at game.setUpnetworking(game.java:66) 
    at game.go(game.java:45) 
    at game.main(game.java:18) 
java.lang.NullPointerException 
    at game$IncomingReader.run(game.java:79) 
    at java.lang.Thread.run(Unknown Source) 
java.lang.NullPointerException 
    at game.actionPerformed(game.java:57) 
    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$400(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) 
난 정말 내가 작업 채팅을 구축 할 수 있습니다 :(누군가가 나를 도울 수있는 문제가 무엇인지 알 수

클라이언트? 난 당신이 비트를 네트워크를 통해 진행해야 할 필요가 있습니다.

+0

이것은 단지 호스트와 포트가 듣고 있지 않습니다에 연결하려는라는 오류가 발생합니다. 소켓 연결에는 두 개의 끝이 있습니다. 듣지 않는 서버와 대화 할 수 없습니다. 서버가 실행 중이고 포트 5000을 청취 중입니까? –

+0

어떻게 해결할 수 있습니까? –

+0

서버를 만들고 실행 하시겠습니까? –

답변

0

당신은 정말 서버를 구축 할 필요가

죄송합니다 나쁜 Englisch를 들어, 내가 네덜란드에서입니다. 이클립스를 사용합니다. 그러나 단지 경우에 당신은 서버가 필요 , 나는 몇 달 전에 돌아왔다. 별도로 실행하십시오. 당신이 그것을 작동하게 할 수 있는지보십시오.

https://github.com/DhavalKapil/ForwardingServer

관련 문제