0

これがクライアント フレームです。その中に「hello server」という行があります。サーバーフレームに「こんにちはサーバー」を表示させたいです。私がこれまでに持っているコードは、教科書から覚えたものです。残りは思い出せません。

package datagrams;
import java.io.*;
import java.net.*;

public class Client extends javax.swing.JFrame implements Runnable {


    public Client() {
        initComponents();
    }


    @Override
    public void run(){

        DatagramSocket socket = null;
        DatagramPacket recvPacket, sendPacket;
        this.setVisible(true);
        try {
            socket = new DatagramSocket();
            InetAddress  hostAddress = InetAddress.getByName("localhost");
            String userString = "hello server";
            byte sendbuf[] = userString.getBytes();
            sendPacket = new DatagramPacket(sendbuf, sendbuf.length, hostAddress, 1167);
            socket.send(sendPacket);
            recvPacket = new DatagramPacket(new byte[512], 512);
            socket.receive(recvPacket);


        catch(Exception ioe){


        }
        socket.close();

            }

そしてサーバーフレーム

package datagrams;

import java.io.*;
import java.net.*;

public class Server extends javax.swing.JFrame implements Runnable {

    static int  PORT = 7070;

    public Server() {
        initComponents();

    }

    @Override public void run(){
        DatagramSocket socket = null;
        DatagramPacket recvPacket, sendPacket;
        this.setVisible(true);
        try{
            socket = new DatagramSocket(PORT);
            while (socket != null){
                recvPacket = new DatagramPacket(new byte[512], 512);
                socket.receive(recvPacket);
                sendPacket = new DatagramPacket(recvPacket.getData(), recvPacket.getLength(), recvPacket.getAddress(), recvPacket.getPort());
                socket.send(sendPacket);
            }

        }
    catch(IOException e){
        System.out.println(e.toString());
    }

    socket.close();
    }
4

1 に答える 1