UDP와 함께 클라이언트와 서버간에 UDP 채널을 열고 싶습니다. 두 가지 질문이 있습니다. 내가 쓸 때자바에서 UDP 채널 열기
DatagramSocket serverSocket = new DatagramSocket(port);;
채널이 열리거나 보낼 때 열릴 것입니까? 및 어떻게 서버의 IP 주소를 지정할 수 있습니까?
UDP와 함께 클라이언트와 서버간에 UDP 채널을 열고 싶습니다. 두 가지 질문이 있습니다. 내가 쓸 때자바에서 UDP 채널 열기
DatagramSocket serverSocket = new DatagramSocket(port);;
채널이 열리거나 보낼 때 열릴 것입니까? 및 어떻게 서버의 IP 주소를 지정할 수 있습니까?
DatagramSocket로 ServerSocket의 새로운 = DatagramSocket로 (포트);
데이터 그램 소켓을 구성하고 로컬 호스트 컴퓨터의 지정된 포트에 바인드합니다.
클라이언트와 서버간에 채널을 만들지 않습니다.
서버가 수신 대기를 시작하면 클라이언트는이 UDP 포트 번호로 udp 패킷을 보낼 수 있습니다.
예를 들어
당신이
을 BindAddress = "192.148.1.0"방법은 아래의 특정 IP 및 포트 번호 사용에 UDP 소켓을 바인딩 할 경우;
DatagramSocket socket = new (bindPort, InetAddress.getByName (bindAddress));
그래서 패킷에 서버 주소를 지정해야합니까? – user567
답변을 편집했습니다. –
예. 패킷을 특정 udp 포트로 보내려는 경우 DatagramPacket에 서버 주소와 포트 번호가 나와 있습니다. 그게 –
나는 여기
에 대한 정보가 열려 방법 DatagramChannel 데이터 찾을 :
DatagramChannel channel = DatagramChannel.open();
channel.socket().bind(new InetSocketAddress(9999));
여기
더 INFOR http://tutorials.jenkov.com/java-nio/datagram-channel.html
UDP 클라이언트/서버를 작성하기위한 다음 튜토리얼 예를 살펴 보자 자바에서. IP 주소는 서버에 연결하기 위해 클라이언트가 지정해야합니다. 그러나 포트는 두 부분에서 필요합니다.
http://docs.oracle.com/javase/tutorial/networking/datagrams/clientServer.html
UDP에는 채널이 없습니다. – bmargulies
UDP는 TCP와 같지 않으며 비 연결 프로토콜입니다. 또한 신뢰할 수없는 프로토콜이므로 일부 패킷이 손실 될 가능성이있는 이벤트를 허용해야합니다. –