java socket通信03
3045 ワード
1.Socket通信UDP
UDPプロトコル:接続なし、信頼できない、無秩序な。スピードが比較的速いです。
1.データ転送を行う場合。まずデータをデータグラム(Datagram)に包装し、指定されたデータが到着したソケット(サービスアドレスとポート番号)で、最後にデータを送信します。
関連操作クラス
データパケット
Datagram Socket:ポート対ポートの通信クラスです。
2.サービス:
ステップ:
1.Datagram Socketを作成し、ポート番号を指定します。
2.Datagram Packetを作成する
3.クライアントから送信されたデータ情報を受信する
4.データの読み込み
3.クライアント
ステップ:
1.送信情報を定義する
2.Datagram Packetを作成し、送信する情報を含みます。
3.Datagram Socketを作成する
4.データの送信
========================================================================
まずサービスを実行してクライアントを実行します。
UDPプロトコル:接続なし、信頼できない、無秩序な。スピードが比較的速いです。
1.データ転送を行う場合。まずデータをデータグラム(Datagram)に包装し、指定されたデータが到着したソケット(サービスアドレスとポート番号)で、最後にデータを送信します。
関連操作クラス
データパケット
Datagram Socket:ポート対ポートの通信クラスです。
2.サービス:
ステップ:
1.Datagram Socketを作成し、ポート番号を指定します。
2.Datagram Packetを作成する
3.クライアントから送信されたデータ情報を受信する
4.データの読み込み
3.クライアント
ステップ:
1.送信情報を定義する
2.Datagram Packetを作成し、送信する情報を含みます。
3.Datagram Socketを作成する
4.データの送信
========================================================================
まずサービスを実行してクライアントを実行します。
package cn.lanz.socket.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
/**
* @ : UDP
* @version : 2016-12-5: 5:41:53
* @E-mail :
* @author :
*/
public class UDPServer {
public static void main(String[] args) throws IOException {
/*
* 。
*/
//1. datagramsocket,
DatagramSocket socket=new DatagramSocket(8888);
//2. datagrampacket,
byte[] data=new byte[1024];// ,
DatagramPacket packet=new DatagramPacket(data, data.length);
//3.
socket.receive(packet);//
//4.
String info=new String(data, 0, packet.getLength());//
System.out.println(" , :"+info);
/*===============================
*
*/
//1. , , 。
InetAddress address=packet.getAddress();
int port=packet.getPort();
byte[] data2=" ".getBytes();
//2. datagrampacket,
DatagramPacket packet2=new DatagramPacket(data2, data2.length, address, port);
//3.
socket.send(packet2);
socket.close();
}
}
package cn.lanz.socket.udp;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* @ : UDP
* @version : 2016-12-5: 5:41:30
* @E-mail :
* @author :
*/
public class UDPClient {
public static void main(String[] args) throws Exception {
/*
*
*
*
*/
//1. , 、
InetAddress address=InetAddress.getByName("localhost");
int port=8888;
byte[] data=" :admin; :123".getBytes();
//2. datagrampacket,
DatagramPacket packet=new DatagramPacket(data, data.length, address, port);
//3. datagramsocket,
DatagramSocket socket=new DatagramSocket();
//4.
socket.send(packet);
/*
*
*
*
*/
//1. datagrampacket, 。
byte[] data2=new byte[1024];
DatagramPacket packet2=new DatagramPacket(data2, data2.length);
//2.
socket.receive(packet2);
//
String reply=new String(data2, 0, packet2.getLength());
System.out.println(" 》 :"+reply);
//
socket.close();
}
}