[Message Prev][Message
Next][Thread Prev][Thread Next][Message
Index][Thread Index]
Strange issue with NFS - any ideas please
- Subject: Strange issue with NFS - any ideas please
- From: "Tony Tofts" <tony@xxxxxxxxxx>
- Date: Fri, 5 Aug 2005 14:46:32 +0100
Hi all,
The NFS server in xplmedianet (I expect this effects xplrionet too) seems
to
work fine on a per unit basis
However if I boot 2 x rio at the same time, it works up to a point and then
stops for 30+ seconds before continuing the rio boot (eventually both
booting fine, and at basically the same time as expected).
Have debugged the code, and nothing is crashing or doing anything
unexpected.
However, when I sniff the packets with ethereal I find the rio's get so far
talking to nfs and then keep sending "send again" packets for 30+
secs, and
then everything carries on as normal...
At no time do these resend request packets (and theyre different packets
each time I sniff) get picked up by xplmedianet
Once they are picked up the boot continues fine. But can't work out why the
previous packets (roughly 1 sec intervals) don't get thru
Was wondering if any vb.net users have any thoughts please? Some code
snippets are below
Many thanks
Tony
The listener starts as follows:
Dim EP As New IPEndPoint(IPAddress.Any, NFSPort)
sockIncoming = New Socket(AddressFamily.InterNetwork, SocketType.Dgram,
ProtocolType.Udp)
sockIncoming.Bind(EP)
epIncoming = New IPEndPoint(IPAddress.Any, 0)
sockIncoming.BeginReceiveFrom(NFSIn, 0, 1024, SocketFlags.None, epIncoming,
AddressOf Me.ReceiveData, Nothing)
The incoming packets:
Private Sub ReceiveData(ByVal ar As IAsyncResult)
Dim epSource As EndPoint = New IPEndPoint(IPAddress.Any, 0)
Dim bytes_read As Integer
Try
bytes_read = sockIncoming.EndReceiveFrom(ar, epSource)
Catch
GoTo waitfornext
End Try
If bytes_read = 0 Then GoTo waitfornext
Process packet here, and send reply:
Try
Dim ep As New IPEndPoint(CType(epSource, IPEndPoint).Address, 800)
sockIncoming.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName.Broadcast, 1)
sockIncoming.SendTo(NFSOut, ep)
Catch
End Try
then tidy up:
waitfornext:
Try
sockIncoming.BeginReceiveFrom(NFSIn, 0, 1024, SocketFlags.None,
epIncoming, AddressOf Me.ReceiveData, Nothing)
Catch
End Try
When exiting the receive routine it must be going thru the 'waitfornext'
code, since there's no other way out. So I assume it must be listening.
xPL Main Index |
xPL Thread Index |
xPL Home |
Archives Home
|