etch-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James King" <>
Subject RE: sockopt error, C# runtime?
Date Thu, 11 Mar 2010 19:19:40 GMT
I have a bugfix for the C# runtime error on Windows 7 with
get/setsockopt.  The SocketOptionLevel used when setting KeepAlive is
incorrect.  In the codebase it is .Tcp, change this to .Socket and the
problem goes away.  It looks like when you set KeepAlive on
SocketOptionLevel.Tcp, it ends up trying to set Broadcast, which is
invalid for TCP.

- Jim

-----Original Message-----
From: scott comer [] 
Sent: Thursday, March 11, 2010 11:07 AM
Subject: Re: sockopt error, C# runtime?

hi james. sorry to hear you are having trouble. i'm having a similar 
problem with selector based
java code from the 1.1 release under windows 7. it doesn't always happen

for me. i think it is
a race condition in windows tcp stack.

please create an issue in jira for this. i will write myself a note to 
create one for the java side.
this could be fixed in the pending 1.1 release, or in the 1.2 release. 
the workaround is to just
attempt the start again after waiting a few tens of milliseconds. if you

like, please try that
technique for c# and let me know how that works...

as to your code generator, i think you're talking about a vs plugin to 
call the compiler? or
it is a version of the c# compiler which packages the code up slightly 
differently, or both?

i think better support for the ide's is good, we would have to discuss 
in the group how
best to package and distribute such a thing.

thanks for getting involved!

scott out

On 3/11/2010 9:51 AM, James King wrote:
> Hello,
> This is my first message... I pulled the 1.0.2 distribution and I have
> been writing a code generator for Visual Studio 2008.  While putting
> together an example tutorial for using the code generator to show how
> you don't have to leave the IDE any more, I tried to run the "example"
> example.  It failed curiously with the following on the client and
> server.  I am on Windows 7:
> System.Net.Sockets.SocketException: An unknown, invalid, or
> option or level was specified in a getsockopt or setsockopt call
>     at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel
> optionLevel, SocketOptionName optionName, Int32 optionValue, Boolean
> silent)
>     at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel
> optionLevel, SocketOptionName optionName, Int32 optionValue)
>     at Etch.Util.TcpTransport.SetUpSocket() in
> c\main\csharp\Etch\Util\TcpTransport.cs:line 193
>     at Etch.Util.Connection`1.Run0(Boolean first) in
> c\main\csharp\Etch\Util\Connection.cs:line 116
> This happens on the client and on the server.  My next step is to go
> the trunk code with svn and set up a build environment.  Is this a
> issue from the current binary distribution?  I would also like to know
> how I can contribute the Visual Studio code generator back to the
> project.  It allows you to add an .etch file into Visual Studio and
> compiles everything except the Main* and Impl* into a single .cs file,
> much like the designer does when editing a form.  It will help bring
> Etch closer to the C# class library style of project references
> of copying core files around.
> Thanks,
> James E. King, III
> Senior Software Engineer
> Dell (EqualLogic) HIT Team
> 300 Innovative Way, Suite 301
> Nashua, NH 03062

View raw message