PHÀN SERVERSOCKET
Giao diện
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import java.awt.BorderLayout;
public class Panel extends JPanel{
public JTextArea text = new JTextArea();
Panel(){
BorderLayout Layout = new BorderLayout();
setLayout(Layout);
JScrollPane js = new JScrollPane(text);
add(js,Layout.CENTER);
}
}
Hoạt động import javax.swing.JFrame;
import java.awt.BorderLayout;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server{
static Panel p = new Panel();
private static final int port = 8000;
public static void main(String args[]){
ServerSocket serverSocket = null;
DataInputStream dataInputStream = null;
DataOutputStream dataOutputStream = null;
JFrame f = new JFrame();
f.setTitle("Server");
f.setLayout(new BorderLayout());
f.setSize(300,300);
f.add(p);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
try{
serverSocket = new ServerSocket(port);
Socket clientSocket = serverSocket.accept();
dataInputStream = new DataInputStream(clientSocket.getInputStream());
dataOutputStream = new DataOutputStream(clientSocket.getOutputStream());
}
catch(IOException e){
}
try{
dataOutputStream.writeUTF("Welcome to the TCP Echo Server!");
String input;
while(true) {
input = dataInputStream.readUTF();
p.text.append("Received: " + input+"\n");
}
}
catch(IOException e){
p.text.append("Client disconnected from server\n");
}
}
}
PHẦN SOCKETGiao diện
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.awt.BorderLayout;
public class Panel extends JPanel{
public JTextArea text = new JTextArea();
public JTextField t = new JTextField();
public String a = new String();
Panel(){
BorderLayout L = new BorderLayout();
setLayout(L);
JScrollPane js = new JScrollPane(text);
add(js,L.CENTER);
add(t,L.SOUTH);
}
}
hoạt động
import java.net.Socket;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Client{
public static class TCPEchoReader extends Thread
{
boolean active;
public TCPEchoReader(DataInputStream input) {
dataInputStream = input;
boolean active = true;
}
public void run() {
while(active) {
try {
String message = dataInputStream.readUTF();
if (message != null){
p.text.append("Server: "+message+"\n");
}
}
catch(IOException e) {
}
}
}
}
static Panel p = new Panel();
static Socket socket;
static DataInputStream dataInputStream = null;
static DataOutputStream dataOutputStream = null;
public static void main(String[] args) {
BorderLayout L = new BorderLayout();
JFrame f = new JFrame();
f.setTitle("CLient");
f.setLayout(L);
f.setSize(300,300);
f.add(p,L.CENTER);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
String address = "127.0.0.1";
int port = 8000;
Socket socket = null;
try
{
socket = new Socket(address, port);
dataInputStream = new DataInputStream(socket.getInputStream());
dataOutputStream = new DataOutputStream(socket.getOutputStream());
}
catch(IOException e) {
}
TCPEchoReader reader = new TCPEchoReader(dataInputStream);
reader.setDaemon(true);
reader.start();
p.t.addActionListener(
new ActionListener(){
public void actionPerformed( ActionEvent event ) {
p.a = event.getActionCommand() ;
p.text.append("Sent: "+p.a+"\n");
p.t.setText("");
try {
dataOutputStream.writeUTF(p.a);
p.a ="";
} catch(IOException e){
}
}
}
);
}
}
comment nha Vũ
0 nhận xét:
Đăng nhận xét