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();
}
}
}