자바 네트워크 통신 기술 의 간단 한 채 팅 애플 릿

본 논문 의 사례 는 자바 가 간단 한 채 팅 애플 릿 을 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
자바 의 통신 기술 을 배 운 후 간단 한 창 채 팅 프로그램 을 만 들 었 습 니 다.절 차 는 매우 간단 하 다.주요 목적 은 연습 을 통 해 자신 이 배 운 것 을 공 고 히 하고 여기에 기록 하 는 것 이다.다음은 바로 코드 를 올 립 니 다.
우선 서버 코드:

package ChatTwoPackage;
 
import java.io.*;
import java.net.*;
 
public class ChatTwoServer {
 
 public ChatTwoServer(int port,String name) throws IOException
 {
 ServerSocket server=new ServerSocket(port);//  seversocket  ,  tcp    。    port,  tcp  。
 System.out.print("      ,    !");
 Socket client=server.accept();//  socket  ,           。
 new ChatTwoClient(name,client);//      。
 server.close();
 }
 
 public static void main(String[] args) throws IOException {
 new ChatTwoServer(2001,"SQ");
 
 }
 
}
그리고 클 라 이언 트 의 코드:

package ChatTwoPackage;
 
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
 
public class ChatTwoClient extends JFrame implements ActionListener {
 private String name;
 private JTextArea text_re;
 private JTextField text_se;
 private PrintWriter cout;
 private JButton buttons[];
 public ChatTwoClient(String name,Socket socket) throws IOException
 {
 super(" :"+name+InetAddress.getLocalHost().getHostAddress()+":"+socket.getLocalPort());
 this.setBounds(320, 240, 400, 240);
 this.text_re=new JTextArea();
 this.text_re.setEditable(false);
 this.getContentPane().add(new JScrollPane(this.text_re));
 
 JToolBar toolBar=new JToolBar();
 this.getContentPane().add(toolBar,"South");
 toolBar.add(this.text_se=new JTextField(30));
 buttons=new JButton[2];
 buttons[0]=new JButton("  ");
 buttons[1]=new JButton("  ");
 toolBar.add(buttons[0]);
 toolBar.add(buttons[1]);
 buttons[0].addActionListener(this);
 buttons[1].addActionListener(this);//         ,        
 this.setVisible(true);
 this.name=name;
 this.cout=new PrintWriter(socket.getOutputStream(),true);//  socket   
 this.cout.println(name);
 BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream())); // socket            ,  GBK   ,          
        String line="  "+br.readLine()+"  ";
        while(line!=null&&!line.endsWith("bye"))
 {
  text_re.append(line+"\r
"); line=br.readLine(); }// , br.close(); this.cout.close(); socket.close(); buttons[0].setEnabled(false); buttons[1].setEnabled(false); } public ChatTwoClient(String name,String host,int port) throws IOException { this(name,new Socket(host,port));// } public void actionPerformed(ActionEvent ev) { if(ev.getActionCommand().equals(" ")) { this.cout.println(name+":"+text_se.getText()); text_re.append(" :"+text_se.getText()+"
"); text_se.setText(""); }// , , if(ev.getActionCommand().equals(" ")) { text_re.append("
"); this.cout.println(name+"
"+"bye
"); buttons[0].setEnabled(false); buttons[1].setEnabled(false); }// , bye } public static void main(String[] args) throws IOException { new ChatTwoClient("mxl","127.0.0.1",2001); //ip } }
실행 효과:

설명:
1.두 대의 컴퓨터 는 한 대의 서버 로 서 서버 로 서 의 컴퓨터 는 두 개의 코드 가 필요 하 다.먼저 서버 의 코드 를 실행 하고 클 라 이언 트 기기 의 연결 을 기다 리 며 클 라 이언 트 가 클 라 이언 트 코드 를 실행 한 후에 연결 성공 을 알 립 니 다.메 시 지 를 보 낼 수 있 습 니 다.
2.코드 를 실행 하기 전에 ip 주 소 를 자신의 컴퓨터 의 현재 ip 주소(Modem,ISDN,ADSL,유선 광대 역,동네 광대 역 등 방식 으로 인터넷 에 접속 하 는 컴퓨터 로 바 꿔 야 합 니 다.인터넷 에 접속 할 때마다 할당 되 는 IP 주소 가 다 릅 니 다.이 를 동적 IP 주소 라 고 합 니 다).컴퓨터 로 클 라 이언 트 와 서버 를 충당 하려 면 ip 주 소 를 127.0.0.1(127.0.0.1 은 리 턴 주소 로 로 로 컬 컴퓨터 를 말 하 며 일반적으로 테스트 에 사용 합 니 다)이 라 고 쓰 십시오.먼저 서버 코드 를 실행 하고 클 라 이언 트 코드 를 실행 하면 됩 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기