Sign In
Write Ahead Blog
rushi desai | developer | zune service
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
Blog Home
Email Blog Author
Share this
RSS for posts
Atom
RSS for comments
Search
Advanced search options...
Search In:
Everything
Blogs
Forums
People
Groups
Places
Pages
Date range:
All Time
Last Year
Last 6 Months
Last 3 Months
Last Month
Last Week
Last Two Days
Tags
No tags have been created or used yet.
Archive
Archives
November 2007
(1)
September 2006
(2)
April 2006
(1)
December 2005
(3)
November 2005
(1)
September 2005
(3)
June 2005
(4)
May 2005
(4)
April 2005
(2)
March 2005
(9)
February 2005
(11)
Solution to BrokerChallenge 0
MSDN Blogs
>
Write Ahead Blog
>
Solution to BrokerChallenge 0
Solution to BrokerChallenge 0
Rushi Desai
24 Jun 2005 8:25 AM
Comments
1
It has been a week since I posted
BrokerChallenge 0
and I am quite happy to see several people successfully cracked it. Still others gave it a shot but were not completely successful. So I decided to post the solution to the challenge. You can get the sample T-SQL script from
here
and modify it to suit your hostname, port and database name. With that you are all set to BEGIN a dialog and SEND me a message. My CommentService is still accepting messages although you will see your name in the
consolation list of the Hall of Fame
.
Note:
Several people who attempted to setup the broker stumbled on firewall issues. While you might be tempted to think you don't need to puncture your firewall since you are setting up the broker as an initiator and not a target, your broker will never receive acknowledgments to your sent messages. Hence the messages will never get deleted from the sys.tranmission_queue. Also, you will not be able to receive reply messages from the far broker. The reason for this is connection arbitration. When your SQL Server instance creates an outbound connection to my SQL Server instance, my instance sees the remote TCP endpoint address to be that of your firewall gateway (NAT/router). My instance does not see the private IP that may be used inside your intranet or home-network; but that of your firewall gateway. The target instance sends back the endpoint address back to the initiator to arbitrate if the initiator is indeed who the target thinks it is. Since this will fail, the connection will not be used for sending messages or acks from the target back the initiator. Instead the target will try to open a new connection to the initiator. Now if your initiator address is private, there is no IP route to your machine and hence it will not work. The solution is that if you control your firewall (eg> the wireless router you use at home), open a port on the router and redirect it to the port you use on your SQL server instance. Also make sure you name your service using the external name and not internal one (eg> tcp://24.16.11.66:3044 and not tcp://192.168.1.10:4022).
1 Comments
Blog - Comment List MSDN TechNet
Comments
Loading...