|
Been looking for quite some time for the answer to my question.
How do I do this in C#:
[Client]
SendToServer(ClientActions.Login, username, password);
[Server]
ReceiveRequest(Tag, pram1, pram2);
if (tag == ClientActions.Login)
{
bool exUser = UserExist(pram1, pram2);
if (exUser)
SendToClient(ServerAction.Exist);
else
SendToClient(ServerAction.NotExist);
}
[Client]
ReceiveResponse(Response);
if (Response == ServerAction.Exist)
else
I am trying to setup a MultiPerson game using C# as my primary. Currently I have the client access the database directly because I have found no tutorials explaining how to this sort of thing. Mostly I have found Chat servers which do not help me figure this problem out. I have been able to do the above using alternate means, but since I will need to do more than send a few simple strings, I have no clue how to do it...
My main issue is figuring out how to get both the client and the server to know how to deal with whatever comes down the pipe. My progression after the above would have been to ask the server for the userdata and have the server send a List<player> object back. But I don't know how to do it.
I would appreciate any and all help for this.
|
|
|
|
|
As said, use Remoting or WCF.
But, you will not:
SendToServer
And then
ReceiveResponse
You will:
CallMethod(parameters)
And such method can have a return type, so you get the response automatically.
|
|
|
|
|
Along with the other replies, I strongly recommend using WCF to do this. Imho it's easy, reliable and flexible.
/ravi
|
|
|
|
|
Okay, so WCF is the way to go. And, as I said, it is Pseudo code. ^_^ It shows what I expect the server to do, not exactly what it will do.
So, how would I go about using WCF with my example as the start? IE a simple Return of a Bool... I just need to see an example that doesn't rely on a string... ^_^
One more thing. How do you get it to listen for more than one thing. I would think it would have to do with the Channel... But not sure.
Thank you for your prior help and for any further help you can provide.
Nevermind, I figured it out, I think. You just add more Functions to the Interface... Now I just need to find a cheap Windows Server to test it on...
EDIT:: I can't seem to get it to report errors other than System.ServiceModel errors. I missed a MySQL error because All I got from the Debugger was that an Internal error occurred... Not a big deal, but a bit annoying...modified on Monday, February 22, 2010 8:18 PM
|
|
|
|
|
Seems I do need more help after all. I have 2 main issues. The first is that I get different results when using the .NET 3.5 Framework and the .NET 4.0 Framework. The app functions correctly in 4.0 but returns a few odd things in 3.5. While all in all it doesn't matter, I'm using 4.0 as the primary anyway, it does pose a problem on the end-user. 3.5 is standard but 4.0 is in beta4 so most will not touch it.
My second problem is this:
System.ServiceModel.CommunicationObjectFaultedException: The communication object,
System.ServiceModel.ServiceHost, cannot be used for communication because it is in the Faulted state.
at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)
at System.ServiceModel.ServiceHostBase.System.IDisposable.Dispose()
at Impur.Game.Network.Server.Program.Main(String[] args)
Now, I understand the error. It is because I went the Using route when making my ServiceHost. My problem is that I don't know hot to do it another way. Now, my app works perfectly on my computer, but gives that error on my Dev Tester's computer.
Here is the code I use. Maybe you can tell me how to do it another way:
using (ServiceHost host = new ServiceHost(
typeof(Actions),
new Uri[]{
new Uri("http://localhost:8000"),
new Uri("net.pipe://localhost")
}))
EDIT:: Fixed the Second problem and have now encountered:
System.ServiceModel.AddressAccessDeniedException: HTTP could not register URL http:
process does not have access rights to this namespace (see http:
for details). ---> System.Net.HttpListenerException: Access is denied
This one I have no clue about.
|
|
|
|
|
Hi,
I am creating C# asp.net web page. I have encountered problems to show correct date on the web page.
I have done the following codes to show the date for the next few days. However, it will come out like 32/2/2010 if I did it like following codes.
Is there any solution to show correct date to solve my error?
protected void Page_Load(object sender, EventArgs e)
{
int day = Convert.ToInt32(DateTime.Now.Day);
int month = Convert.ToInt32(DateTime.Now.Month);
int year = Convert.ToInt32(DateTime.Now.Year);
lblDatePG.Text = day + "/" + month + "/" + year;
hlTmr.Text = day + 1 + "/" + month + "/" + year;
hlDay2.Text = day + 2 + "/" + month + "/" + year;
hlDay3.Text = day + 3 + "/" + month + "/" + year;
hlDay4.Text = day + 4 + "/" + month + "/" + year;
hlDay5.Text = day + 5 + "/" + month + "/" + year;
hlDay6.Text = day + 6 + "/" + month + "/" + year;
}
Thanks.
|
|
|
|
|
Just to add to stancrms' answer, if you are ever using DateTime.Now always take a local copy first, just the way he does:
DateTime dtNow = DateTime.Now; and then work from that. If you don't, then you can get intermittent bugs since DateTime.Now is not fixed - it can change between two successive calls.
For example, if it is 31st December 2010 at 23:59:59 and you call DateTime.Now the result could be in 2010 or 2011. This can be annoying to find, especially when the difference is an hour or so, or Summer Time ends and the clocks go back!You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
C/C++ (I dont see a huge difference between them, and the 'benefits' of C++ are questionable, who needs inheritance when you have copy and paste) - fat_boy
|
|
|
|
|
how can i send files with Skype4COM.dll?
|
|
|
|
|
I'm sure it has some kind of documentation. Read it.
Try some dedicated forums four your Skype4COM.dll.
Maybe the place where you got/downloaded it?
|
|
|
|
|
|
should i put this command in command function?
|
|
|
|
|
|
have you?!
if you do it tell me how?
|
|
|
|
|
|
OK i will go with you
OPEN FILETRANSFER myfriend IN C:\temp
in your program where do you put it with what?
send message or send command or....
|
|
|
|
|
Are you incapable of doing anything for yourself? Try reading the documentation and make an effort to learn how to do it. txtspeak is the realm of 9 year old children, not developers. Christian Graus
|
|
|
|
|
|
Message Closed
modified 23-Nov-14 7:11am.
|
|
|
|
|
now i do understand where should i put it if any one wants to know:
Command c=new Command();
c.Command="OPEN.......";
skype.SendCommand(c);
was it hard to tell me put it in command function?
(NOTE:you can send text message with / command like /me but there is no for send files)
thanks you all any way
|
|
|
|
|
|
thanks
i found what i was looking for send files but it is not complete operation i should select the file manually if you have any idea??
|
|
|
|
|
|
Hello,
I want to build XMPP application and trying to choose the best library for this job.
I've noticed that there are jabber.net and agsXMPP and both have tutorials here although it seems that jabber.net has less samples on the net.
Have you tried any of these and what is your recommendation?
Thanks
|
|
|
|
|
Thanks for the help
|
|
|
|
|
have you found a client lib suitable yet?? I've been searching as well... came up with some... what are your findings?
Which server did you find?
|
|
|
|