3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Java Network 基礎 (通信)

Last updated at Posted at 2019-05-23

Socketについて

Socketはサーバやクライアントと通信をとりもつ窓口にあたる。
ソケット通信をする上でServerSocketとSocketを使います。
ServerSocketのパッケージ情報: https://docs.oracle.com/javase/jp/7/api/java/net/ServerSocket.html
Socketのパッケージ情報: https://docs.oracle.com/javase/jp/7/api/java/net/Socket.html

ServerSocket 変数名 = new ServerSocket(port番号);
Socket 変数名 = new Socket();

これらを定義し通信を行います。


#Socket通信方法
簡単な通信を行うには

  • ServerSocketのインスタンスを作成
  • Socketの通信接続
  • 通信開始

を基本操作とします。

// ServerSocketのインスタンス
ServerSoket 変数名_server_socket = new ServerSocket(port_number);

// Socket通信接続
Socket 変数名_socket = new Socket();
変数名_socket = 変数名_server_socket.accept();

// 通信開始
~~ 任意の処理 ~~
変数名.close();

以下は通信する上でのサンプルコードです。
Server.java
import java.io.*;
import java.net.*;

public class Server{
    private final int port;

    // constructor
    public Server(int port){
        this.port = port;
    }
    public static void main(String[] args){
        Server server = new Server(8080);
        server.start();
    }

    public void start(){
        try{
            ServerSocket serverSocket = new ServerSocket(port);
            System.out.println("waiting for connection in this port now.");

            Socket socket = new Socket();
            socket = serverSocket.accept();
            System.out.println("connection completed.");

            socket.close();
        } catch (Exception e){
            e.printStackTrace();
        }
    }
}

ezgif-2-c46a66d542f8.gif

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?