Sítě

Tento kód je velmi odbytý. Ale snad je na něm vidět základní práce s TCP streamy.

Client.java

package javaapplication21;
 
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
 
public class Client extends JFrame {
 
    PrintWriter writer;
    Socket s;
 
    public Client() throws UnknownHostException, IOException {
        s = new Socket("localhost", 1234);
        writer = new PrintWriter(new OutputStreamWriter(s.getOutputStream()), true);
 
        setSize(200, 50);
        setLayout(new BorderLayout());
        setDefaultCloseOperation(EXIT_ON_CLOSE);
 
        final JTextField text = new JTextField();
        JButton send = new JButton("Send");
        getContentPane().add(send, BorderLayout.EAST);
        getContentPane().add(text);
 
        send.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                writer.println(text.getText());
            }
        });
 
        addWindowListener(new WindowAdapter() {
 
            @Override
            public void windowClosing(WindowEvent evt) {
                try {
                    writer.close();
                    s.close();
                } catch (IOException ex) {
                    //log log
                }
            }
        });
    }
 
    public static void main(String[] args) throws UnknownHostException, IOException {
        JFrame main = new Client();
        main.setVisible(true);
    }
}

Main.java - server

package javaapplication21;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.ServerSocket;
import java.net.Socket;
 
public class Main {
 
    public static void main(String[] args) throws IOException {
        ServerSocket server = new ServerSocket(1234);
        System.out.println("Running server...");
        while (true){
            Socket client = server.accept();
            System.out.println("Connection accepted");
            BufferedReader r= new BufferedReader(new InputStreamReader(client.getInputStream()));
            while (client.isConnected()){
                String s = r.readLine();
                if (s == null){
                    r.close();
                    client.close();
                    System.out.println("Connection closed");
                    break;
                }else{
                    System.out.println("Message: "+s);
                }
            }
        }
    }
 
}
pjvomo/site1.txt · Last modified: 2011/08/16 20:33 by 127.0.0.1
Back to top
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0