자유의대가는뭐라고요
접속 : 3611   Lv. 69

Category

Profile

Counter

  • 오늘 : 924 명
  • 전체 : 1511054 명
  • Mypi Ver. 0.3.1 β
[잡담/일상] 왜 자꾸 연결실패가뜨죠;;ㅠ (0) 2018/02/13 PM 02:00

일단..이 전단계에서 서버연결 둘다 잘됩니다.

단순히 텍스트필드에서 내용입력하고 엔터 치면 서로 상호간에 잘 주고받기 하게끔 햇는데..

 

public class Server extends JFrame implements ActionListener {

액션리니어 추가햇는데도 @오버라이드가 생성이 안되서 그냥 직접적엇는데..

일단은 됩니다!;;

 

 

근데 문제는


문제내준걸보니 전송버튼눌러서도 나가게끔 해야하더라구요...;;;

 

 

암튼;;

이상태에서 라벨이랑  전송버튼을 추가해서 

이전단계같이 채팅내용주고받기 하려고하는데 ..ㅠㅠㅠ

 

 

버튼이랑 라벨 추가하고..나서

밑에 매소드를 어케적어야할지 막막합니다.

그냥 텍스트 필드에서 엔터눌러 처리하는걸로한건뎅..

 

버튼전송을 눌러 엔터누른것과 같게하려면..

 

이걸 다 뜯어야할거같고

방법이 없을까요..


 

 

 

 

 

 

 

 

package Chat;


import java.awt.*; 

import java.awt.event.*; 

import java.io.*; 

import java.net.*;


import javax.swing.JFrame;




public class Server extends JFrame implements ActionListener {

  String name = "";

  Panel p = new Panel();

  

  TextArea ta = new TextArea();

  TextField tf = new TextField(18);

  FlowLayout fl = new FlowLayout(FlowLayout.LEFT);



  Label lb = new Label("메시지 입력 :");

  Button bt = new Button("전송 ");

  

  DataInputStream in;

  DataOutputStream out;

  

  

 Server(String name){

 

   super(name);

   this.name=name;

   p.setLayout(new BorderLayout());

   p.add("Center",ta);


  p.setLayout(fl);

  p.add(lb);

  p.add("South",tf);


  p.add("South",bt);

   

   tf.addActionListener(this);

   tf.addFocusListener(new FocusAdapter()

   {

    public void focusGained(FocusEvent fe)

    {

     tf.requestFocus();

    }

    

   });

   ta.setEditable(false);

   this.add(p);

   this.setBounds(200,200,300,300);

   this.setResizable(false);

   this.setVisible(true);

   tf.requestFocus();

   serverStart();

   }



public void actionPerformed(ActionEvent e) {    // 여기가.....원래@Override 표시가 나와야하는데 안나와서직접씀

String msg = tf.getText(); 

if("".equals(msg))

return; 

if(out!=null) { 

try{ 

out.writeUTF(name+">"+msg);  //서버나 클라이언트 매소드

}

catch(IOException e1) {

e1.printStackTrace(); 

}

ta.append("\n"+name + " > "+msg);

tf.setText(""); 


public void serverStart() { //서버 시작

try{ 

ServerSocket ss = new ServerSocket(7777); //1234

ta.setText("서버오픈\n");

Socket socket = ss.accept();

ta.append(" 연결되었습니다.\n"); 

in=new DataInputStream(socket.getInputStream()); 

out=new DataOutputStream(socket.getOutputStream()); 

while(in!=null) { 

String msg = in.readUTF(); 

ta.append("\n"+msg); 

}

}catch(IOException e) { 

ta.setText("서버 설정 실패\n");

}

}


public static void main(String[] args) { 

Server server= new Server("Server"); //타이틀

}










신고

 
X