1. 协议说明
rabbitmq遵循 Advanced Message Queue Protocal(AMQP)协议。
其中amqp协议1.0可以参考我的资源:
http://download.csdn.net/detail/huyangyamin/9725613
2. spring 客户端
spring java客户端使用 com.rabbitmq.client.impl.FrameHandler处理底层二进制协议(binary protocal)的传输。
实际实现类为:
package com.rabbitmq.client.impl;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.SocketException;
import com.rabbitmq.client.AMQP;
/**
* A socket-based frame handler.
*/
public class SocketFrameHandler implements FrameHandler {
/** The underlying socket */
private final Socket _socket;
/** Socket's inputstream - data from the broker - synchronized on */
private final DataInputStream _inputStream;
/** Socket's outputstream - data to the broker - synchronized on */
private final DataOutputStream _outputStream;
/** Time to linger before closing the socket forcefully. */
public static final int SOCKET_CLOSING_TIMEOUT = 1;
/**
* @param socket the socket to us