jv0l#@ANDREW.CMU.EDU.UUCP (03/11/87)
Dave, I have three answers to this problem. First, Lightspeed isn't working correctly (that is their NBPExtract isn't working as it should). If any- body has used this call with success, they can post and verify that it does work. Otherwise... If you want to know quickly, you may want to get somebody (or yourself) check out the calls from MacsBug. If that is the problem, good luck... If the first answer doesn't work (ie no bugs), you may be having this problem: Are you using bridges? If so, when you peeked at the data, you may have been looking at a socket sent from RTMP (that is Routing Table Maintenance Protocol in English). Somebody please correct me if I'm wrong on the following: If a DDP socket is being sent across nets, is it sent from the original socket number, or does the RTMP socket send it to the bridge with the RTMP socket number (socket 1)? As to why socket number 1 is read from the NBPExtract (vs Peek), I'm lost here. Lastly, you have a problem with your program. I hope that by the time you read this message, the problem will have been solved. If not, are you sure that you passed register the correct socket, and outputted the right one in the extract? These might sound stupid, but sometimes the most obvious bugs are the hardest to find. There may not be any truth to anything that I have said, but I noticed that this had a "PLEASE RUSH INFORMATION" request at the end, so I figured I may say everything I could think of. If any of this is wrong, please DONT post flames, only corrections so the rest of us are more knowledgable. --thanks -Justin jv0l@andrew.cmu.edu
daveg@dartmouth.EDU.UUCP (03/12/87)
yes, I have found the problem..... as it turns out, there is a bug in lightspeed, but not in the appletalk code. Here is something similar to what was happening. before entering thi code block, the variable atpsocket equaled 200. with myABRecord^^ do begin ... ... ... nbpAddress.asocket:=atpsocket; ... ... ... end; async:=true; anOSErr:=NBPRegister(myABrecord,async); the problem is with the use of with in lightspeed. any normal rational human would assume that the value of myABRecord^^.nbpAddress would be that of atpsocket after exiting the WITH block. The assignment above gave me a value of one however. I fixed thi by doing the assigment outside of the WITH block and all is now well. I am now on my way to bigger and better bugs. Thanks much for the reply. Dave Green daveg@dartmouth.EDU