|
I recently moved to Windows XP SP2 and one of my projects is involving remoting. I'm using standart technology for this - tcp channel on port 8080 and binary formating. Now i can't run my project - it freezes when i step over the romoting calls. After long waiting something to happen i stop the process, but the strange is that I don't get a single exception or something alike.
One possible problem is Windows Firewall, another is my firewall - Panda internet security. So my question is how to bypass this problem or how to make my firewall ask me if I want to block this particular application or not - it doesn't ask me
Please help.
Thanks in advance!
by Cao
|
|
|
|
|
Tell the firewall that your application is one of the exceptions, that is, that it should not block it.
settings->control panel->windows firewall
exceptions tab -> add program
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Thanks !I already did it ,but it freezes between times when i step over the romoting calls . then i stop Windows Firewall and my firewall ,but it freezes all the same!
|
|
|
|
|
Then it isn't related to the firewall.
Regards,
mav
|
|
|
|
|
But it became to happen between times. It run in gear on Windows 2000.
|
|
|
|
|
When you say the program freezes when you step through remoting calls I assume you're only experiencing the behaviour in a debugger, correct?
Does the program work without freezing when you're not running in debugger?
I've also experienced freezes in VS.NET while debugging a remoting application, but I think it wasn't related to remoting but rather to my inter-thread communication...
mav
|
|
|
|
|
No,I run it not in a debugger. and It run well on Windows 2000. It freezes only on Windows XP sp2 or SP1. the thread is more and more ,the freeze is worse than ever. it freezes always at i step over the romoting calls.
|
|
|
|
|
Then how do you "step over" the remoting calls?
I'm sorry I can't follow you.
You mean you've verified that you call a remote method and this method does not return or what?
Are you using remote events? This could be a reason.
Does it work when the remoting server and client are running on the same machine or does it behave differently when client and server are on different machines? In the same LAN? Or in separate LANs?
mav
|
|
|
|
|
Thank you for help me.
My English level is low,hope you can know my meaning.
Yes,I've verified that I call a remote method and this method does not return between times.
No,I am not Using remote events. but I am using "AsyncCallback".
The remoting server and client are running on the same machine 。
|
|
|
|
|
It freezes at client and not server,the remoting calls achieve server After long waiting something 。What difference in Windows xp And 2000.Why it happen only between times.
|
|
|
|
|
It is same when client and server are on different machines.
and it run In the same LAN.
I've verified that server is not answer when client call.
Why?
|
|
|
|
|
Perhaps some code would help, especially the part where you call the remote method and receive the AsyncCallback.
The part of your server answering this request could be helpful, too...
Regards,
mav
|
|
|
|
|
Yes, I find that "AsyncCallback" is more and freeze happen is more. but why it happen only on Windows Xp ?
|
|
|
|
|
After SP2 it's important that your windows user has sufficient rights on the remote pc.
You must add the same user you are working with on the local machine also on the remote machine.
This occurs with many applications that use remote technics (e.g. like com)
hope this helps
cu
immes
|
|
|
|
|
Thanks!
But the remoting server and client are running on the same machine 。
What can I do?
|
|
|
|
|
It freezes all the same on Windows 2003 sp1 !
Help me!
|
|
|
|
|
Kobi Zada wrote:
dont know much about programming
Then this is WAY out of your league. You'll essentially be writing your own custom firewall.
There's little chance that your idea will work anyway. Since the other players are essentially flooding your dialup connection with garbage packets, it's not so much a problem of getting a good packet out, but you never receive a good game packet in the first place because it's buried in mountains of bad ones.
Writing a filter/firewall won't solve the problem because you need to receive, then drop thousands of packets to get to a good one. By the time that happens, you've already been dropped from the game.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
well, i allready have a program that shows the packets during the game
and have list of packets and their meaning (but the writer wont share the source)...
i allready saw how dc happens and i dont need to wait for good packets to come after filtering, i just need to send telepot packet at the moment the filer see such bad packets and get out of the hackers sight.
in game i manage to evoid such dc if i teleport fast enough to enother town (game gets laggy when hackers are near by so can notice them some times).
Dave Kreskowiak wrote:
Then this is WAY out of your league. You'll essentially be writing your own custom firewall.
im not sure it is, and even if so it wont hurt trying with some guidness.
i dont know how to make a program stand between my computer and the server
the software i have does so using proxy..
thx.
|
|
|
|
|
Kobi Zada wrote:
the software i have does so using proxy..
And you said you "know little about programming." Writing a proxy isn't exactly an easy project.
A little guidance? It sounds like your going to be cutting and pasting a bunch of code from other, similar, progs someone else has written.
Sorry, but that's just not supportable. If you don't have a good understanding of the code you're "writing", how can you possibly ask an answerable question in anyone's forum?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
It also seems like a lot of work for a game where everyone cheats so easily!
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Look, you said it yourself. You "know little of programming." If you didn't write the program, how on this earth is anyone supposed to help you with code you didn't write??? Reading the code is easy. Understanding the design and how it works is not if you "know little of programming".
If you don't know anything of Sockets (Winsock) programming, threading, and client/server design, how are you going to ask a meaningful question? Better yet, how are we going to answer you without writing an entire article explaining it to you?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi, community
I have learned you can set a maximum send/receive timeout for a socket provided you are communicating in synchronous mode. s.SetSocketOption is made for that.
But what if you use BeginRead/BeginWrite because you need to play it asynchronously? How can you engineer a similar functionality? I can not let me async clients wait forever... What can I do?
Many thanks.
MA form IRB Modellica
|
|
|
|
|
One version of the BeginReceive etc. Methods takes a TimeSpan Object as a parameter. That is the timeout. You can then use the Result to evaluate what happened and react accordingly. Or check if the socket is connected.
Cheers
Sebs
Cheers,
Sebastian
--
Contra vim mortem non est medicamen in hortem.
|
|
|
|
|
Sebastian,
Sorry for not answering, I have been unable to do it.
Thank you for your suggestion. I did not realise any TimeSpan was a parameter of the Begin... family. I need to look into that.
Regards
MA
|
|
|
|
|
For example : I want to implement such feaures :
User copy some objects from a C# WinForm application and paste into a Word Document. When user double click the object in the Word Document, the application is started to show the object in application and user can manipulate that object.
How to do it in .NET world? Thanks!
|
|
|
|