FASt Server - Win32 Socket Library and Tutorial ....

Started by James Ladd, January 15, 2005, 02:41:51 AM

Previous topic - Next topic

Homer

Not getting any echo on XP sp1.
Consider this a formal expression of interest in your project - I've been working on an oop variant for OA32 for a couple of weeks, with little success... I expect to figure out what I was doing wrong based on your source, and I thank you.
Still, many asmcoders are purists, and/or don't see the benefits of oopasm yet.
It's going to take a while for those kinds of opinions to change - hey, I'm evidence !! :)
Keep up the good work  :clap: :U

James Ladd

#76
Homer,

Thanks for the feedback.

You would not have a hard time convincing me of OOP-ASM. ie: oop done using asm.
I was going to go that way but it would have made FASt Server less usable to the novice.
The most I have done is include an informal vtable in the structure. This will at least remove the
need for the API's to be linked into third party code. Im sure you get my point.

Anyways, if I can help you with your app or help you get your stuff working with my app
then let me know.

Ill add the plug-in stuff very soon and other pooling and threading that is needed.

Comments welcome !!

rgs, striker.

Edit: Made new download, this one includes a plugin !!!!

drayvar

This is a cool project.  Good Work, I found this while looking for a c++ implemenation of the exact same thing.  I was able to test this for use on Window 2003 Server,  No Echo.


Robert Collins

Please tell me where to go (except go to hell, hehehe), what to download, what is it exactly, and what to do so I too can test this on my PC. I have been following this topic for quit awhile and it seems to be a very interesting project (based on all the postings).

James Ladd

Thanks for taking an interest.
I know there are some issues with Windows 2000. Most likely because I rely on the mswsock.dll which is probably not on Win2k.
Ill have to check. Right now it works a'ok on XP.

For those who have not tried goto www.jamesladdcode.com and download the zip. Extract the contents somewhere and
from the command line run "fastsvr" this will automaticall listen for connections on port 9080. Then from another command
prompt type "telnet localhost 9080". This will connect to the server and whatever you type will be echoed.

There will be more done to FAStSvr in the comming days. Please stay tuned.

rgs, striker.

Robert Collins

OK, I use Windows 98. I did what you said. From the Command line prompt I launched Fastsvr. The application comes up and does this.....

1) main_create
2) plugin_create
3) main_cleanup
4) serious error
5) end

Then this:

This program has performed an illegal operation and will be shut down.

If the problem persists, contact the program vendor.

WinCC

I just tried it on my Windows Server 2003 EE  SP1  box and it seems to echo the first characterer I send twice, the following data does only echo once.


// WinCC

James Ladd

Dang !

Im sorry that some people have had trouble with running FAStSvr.

I have only WinXP installed so I have not had the ability nor chance to debug it on anything else.
Im not likely so debug it on win98, but I will try win2k and later.

The source is included so maybe someone with these platforms could help ?

Robert, do you connect to the program with telnet or does it crash before you can do this ?

Im still working on this tool so you know I will take this feedback seriously.

rgs, striker

Robert Collins

It crashes immediately when I open the run dialog box with c:\fast_server\fast\svr\fastsvr.exe so to answer your question it crashes before I connect. I never get a chance to connect. 

Robert Collins

m.bat only outputs the dll. Is is not also supposed to output the fastsvr.exe

Also, when trying to re-assemble main.asm I get following:

error A2006: undefined symbol : S_un



Faiseur

"m.bat only outputs the dll. Is is not also supposed to output the fastsvr.exe"

It output "fastsvr.exe".

For test i used this version:


@echo off
cls
if exist *.obj del *.obj
\Masm32\bin\ml /c /coff /nologo *.asm
\Masm32\bin\Link /SUBSYSTEM:CONSOLE /NOLOGO /OUT:fastsvr.exe main.obj
\Masm32\bin\Link /SUBSYSTEM:WINDOWS /DLL /DEF:echo.def /NOLOGO echo.obj
dir




To Striker:

IF your computer is rather powerful you can use Virtual PC of Microsoft, is free 45 days !  It makes it possible to emulate any OS if you have CD installation (Windows 98/ME great).  It was quite useful to me for a project, unfortunately the 45 days are past...  It is highly reliable.


Link for download:

http://www.microsoft.com/downloads/details.aspx?FamilyID=360cafd6-5098-4c64-9ca7-a30f225859f6&DisplayLang=en
French asm Forum: http://www.asmforum.net/   Website: http://www.faiseur.net/

Robert Collins

Quote from: Faiseur on May 26, 2005, 12:08:00 AM
"m.bat only outputs the dll. Is is not also supposed to output the fastsvr.exe"

It output "fastsvr.exe".

For test i used this version:


@echo off
cls
if exist *.obj del *.obj
\Masm32\bin\ml /c /coff /nologo *.asm
\Masm32\bin\Link /SUBSYSTEM:CONSOLE /NOLOGO /OUT:fastsvr.exe main.obj
\Masm32\bin\Link /SUBSYSTEM:WINDOWS /DLL /DEF:echo.def /NOLOGO echo.obj
dir





Well, that is exactly the same as I use and it only ouputs the dll file and not the exe file. And my copy of masm32 is exactly what I downloaded from this site.

Faiseur

Strange... Test this:


@echo off
If Exist *.exe del *.exe
If Exist *.asm \Masm32\BIN\ml.exe  /nologo /c /coff /Cp main.asm
If Exist *.obj \Masm32\BIN\Link.exe /nologo /SUBSYSTEM:CONSOLE /LIBPATH:\masm32\lib *.obj
If Exist *.obj del *.obj
If Exist *.exe GoTo X
echo.
echo.
pause > nul
:X

cls
exit



If error, the script pause console and you read type of error...
French asm Forum: http://www.asmforum.net/   Website: http://www.faiseur.net/

Robert Collins

OK, the reason is that there is an error in the assembly of main.asm--->undefined symbol S_un

James Ladd

Thanks for the feedback.
Faiseur Ill consider the VM approach for Win98 and others.

I have MASM installed on c:\masm32 so the m.bat file invokes the masm tools directly from this location because %masm_home% is set to "c:\masm32"
eg: in command prompt type "set masm_home=c:\masm32" without the quotes.

Is this where you have masm installed ?

In the latest download from www.jamesladdcode.com the m.bat in "fast/svr" is:

@echo off
cls
if exist *.obj del *.obj
%masm_home%\bin\ml /c /coff /nologo *.asm
%masm_home%\bin\Link /SUBSYSTEM:CONSOLE /NOLOGO /OUT:fastsvr.exe main.obj
%masm_home%\bin\Link /SUBSYSTEM:WINDOWS /DLL /DEF:echo.def /NOLOGO echo.obj
dir


The fifth (5) line is making the fastsvr.exe

Have you go the latest zip ?