Java udp socketプログラミング

2324 ワード

本稿では,クライアントが文字列をサービス側に送信し,サービス側が大文字に変換してサービス側に送信することを実現した.
Javaはc++よりずっと簡単で、コードを直接見ればわかります.
サービス側
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.util.Arrays;

public class Main {
    //   
    public static void main(String[] args) {

        // write your code here
        try {
            //    ,UDP     
            DatagramSocket socket = new DatagramSocket(9527);
            byte[] message=new byte[1024];
            while (true){
                DatagramPacket packet = new DatagramPacket(message,1024);
                socket.receive(packet);
                InetAddress address = packet.getAddress();
                int port = packet.getPort();
                byte[] received = packet.getData();
                int len = packet.getLength();
                for(int i=0;i='a'&&received[i]<='z'){
                        received[i]= (byte) (received[i]-'a'+'A');
                    }
                }

                for(int i=0;i

クライアント
import java.io.IOException;
import java.net.*;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        // write your code here
        Scanner input = new Scanner(System.in);
        try {
            String words;
            while (true) {
                words=input.next();
                DatagramSocket socket = new DatagramSocket();
                byte[] message = words.getBytes();
                //InetAddress       IP  
                InetAddress address = InetAddress.getByName("127.0.0.1");
                //DatagramPacket       
                //port               
                DatagramPacket packet = new DatagramPacket(message, message.length, address, 9527);
                socket.send(packet);
                System.out.println("    !");
                socket.receive(packet);
                int len = packet.getLength();
                for(int i=0;i