|
|
Rank: Member Groups: Member
Joined: 4/3/2009 Posts: 4 Points: 12 Location: Toronto
|
In our testing we are encountering a few erratic issues and would be great to hear from the development team if these issues are due to the XF Server RC 1 code or perhaps with an external issue (such as our socket client used for testing).
Here is some context for how we are using it and testing it.
We have a test socket client that uses the .NET Socket API to create a connection and send/receive messages to the TCP Socket Server we created that uses the XF Server api. The use case is that the client sends a request message to the server which is responsible for reading the request and sending the appropriate response back to the client.
1) In our test runs we are seeing random occurrences of a SocketException occurring on the client side when it waits for a response after calling receive. The exception message states that the "connection has been forcibly closed by the remote host". We have all seen scenarios occurring where the exception message is "connection was aborted by the host machine". These scenarios do not occur all the time. There are periodic test runs where everything runs smoothly. We have been unable to identify a reoccurring problem and as a result cannot identify the cause.
2) The IConnection.CloseAsync does not appear to be working - our CloseAsync delegate is never being called even though we stop our client, close the connection and invoke the CloseAsnyc on the server side.
3) We have also seen weird occurrences where the test client waits for the receive and the socket server runs WriteAsync. The write response never reaches the client and both the client and server are both still up and running. Both processes were run on the same box and using the loop back adapter so network connectivity, latency, etc. are not issues here.
In addition to these issues, it would also be great to know if WriteAsync and closing of connections work properly or if the team knows of any outstanding issues with. We are currently using the XF Server RC 1 in a production environment. Is the RC1 close enough to being production quality or are we crazy doing this?
Thanks and appreciate your help.
- Alexis
|
|
Rank: Member Groups: Member
Joined: 4/18/2009 Posts: 3 Points: 9 Location: London
|
Hi Alexis, I'm considering using the XF Server component but I'm a bit concerned about socket closing problems in your last post. Has this been resolved in the new release?
Regards, skiPolePosition
|
|
Rank: Member Groups: Member
Joined: 4/3/2009 Posts: 4 Points: 12 Location: Toronto
|
Hi skipoleposition,
We are still waiting for the author of XF Server to get back to us, so far no response. However, one issue we are seeing is a lack of developer on the control on any spawning threads managed by XF Server to handle connections. This presents an issue when you want to run the server as part of your automated testing suites since it doesn't tear down very nicely.
For example, if you want to run XF Server as a separate thread instead of a separate process in a test case than you will likely encounter issues since there is no API to stop the threads managed by the XF Server and you cannot do a clean tear down.
Our current workaround so we can still achieve automated testing is to start the server once as part of our automated build and leave it running. It only gets stopped when new code gets checked into our continuous integration and a rebuild is performed.
|
|
Rank: Member Groups: Member
Joined: 4/18/2009 Posts: 3 Points: 9 Location: London
|
Hi Alhui, This might be OK for my purpose. What I want to do is to run the XF Server in a Windows Service, i.e. start it once and then leave it running. The only time it would shut down would be for bug fixes etc or when the server needs rebooting.
When the XF Server starts, I want it to listen on a particular IP,Port and handle as many Socket connections as needed. When it receives a data string, then thread off to a routine to parse the data.
What I need to understand, from your experience, can XF Server handle: * Numerous socket connections? * Clean down and handle any spawned threads? * Close down any socket connections?
Lastly, would you have any example code that will do what I trying to achieve?
Regards, skipoleposition
|
|
Rank: Member Groups: Member
Joined: 7/18/2009 Posts: 6 Points: 18 Location: Orlando
|
We are experiencing the same thing. When doing a CloseAsync, we NEVER get a callback on the "OnClose" event in the CONNECTION.
Have you been able to resolve this issue? Any updates from Development? The RC1 seems a bit dated, and we're going to have to scrap it use within the next day or so.
Any feedback would be appreciated.
Shawn
|
|
|
Guest |