ソケット送信情報と受信情報は銀行通信に多く用いられる
/**
*
* : socket
*/
public static void send(Socket socket, byte[] msg) {
DataOutputStream out=null;
try {
out = new DataOutputStream((socket.getOutputStream()));
out.write(msg);
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
*
* : socket
*/
public static byte [] incept(Socket socket) {
byte [] head = new byte[4];
byte [] body=null;
try {
BufferedInputStream bufIn = new BufferedInputStream(socket.getInputStream());
bufIn.read(head);
int len1 = Integer.parseInt(new String(head));
body = new byte[len1];
bufIn.read(body);
} catch (IOException e) {
e.printStackTrace();
}
return body;
}
簡単なsocketの例
Socket service
ServerSocket ss = new ServerSocket(8099);
System.out.println(" , ...");
Socket socket = ss.accept(); // , Socket
DataInputStream in = new DataInputStream(socket.getInputStream());
System.out.println(" :" + in.readUTF());//
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
String sb="hello client";
out.writeUTF(sb.toString());//
socket.close();
ss.close();
Socket client
Socket socket = new Socket();
socket.connect(new InetSocketAddress("localhost",8099),1000);
socket.setSoTimeout(400);
System.out.println(" ...");
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
String result = "hello service";
out.writeUTF(result);//
DataInputStream in = new DataInputStream(socket.getInputStream());
String res = in.readUTF();// xml
System.out.println(" :"+res);
socket.close();
TCP/IP通信はsocket通信とも呼ばれ、TCP/IP協調接続向けのデータ伝送技術である.
OSI国際標準に属する伝送層であり、3回の握手でデータを提供し、秩序正しく、安全で、エンドツーエンドの伝送と受信を提供する.
伝送制御プロトコル(TCP)、ユーザパケットプロトコル(UDP)、インターネット制御メッセージプロトコル(ICMP)の3つの主要なプロトコルがあります.
ソケット接続でネットワーク回線を構築すれば、データが流通します.短い接続と長い接続を含む
2つの場合、短い接続:接続が確立されるたびにメッセージが転送されると、切断されます.
長い接続:接続が確立されるたびにメッセージが転送されると、切断されず、socketを維持するために検出パケットを絶えず送信する必要があります.
スレッドの接続ステータス.
JAva言語はすでにsocket通信に良いパッケージを作って、java.net.*包む.
ソケット通信を確立するには、次の手順に従います.
サーバ側:
ステップ1:サーバがサービスを開始してポートをリスニングします.
ステップ2:サーバがクライアント接続を受信する
ステップ3:クライアント要求メッセージの読み取り
ステップ4:クライアントにメッセージを返す
クライアント:
ステップ1:socket通信を確立し、サーバIPとリスニングポートにアクセスする
ステップ2:要求メッセージの送信
ステップ3:サーバ側から返されたデータメッセージを読み込む