Making chat server with .NET and Objective-C in iOS? - c#

I want to make a chat server by using .NET technology (C# and SQL server) and chat clients with iOS Apps and C# Apps but i don't know where to begin :( Anybody can tell me what i need to know to do it :(

What you are trying to do is perfectly possible.
If you are doing it as homework of for the sake of learning, I would suggest start learning some general Network Programming concepts (sockets, TCP/IP, protocols). After that, you will need to learn of to do Network Programming in .NET and in C (or Objective-C). After that, you will need to design and implement a CHAT protocol (unless you are planning to use an existing one like IRC). Then, jump into coding the server in C# or VB.NET, and the client in C, C++ or Objective-C.
If you are trying to develop a product, try reusing as much components as you can. For example, use Jabber or IRC as your communication protocols. You will find several libraries you can use in C#, Java, Objective-C and C to implement the software you are planning to.

Related

Client Server architecture using python and C#

I am trying an application to write an application on which I have used a client/server architecture. The client side is developed using .NET\C# and the server side is developed on python. To communicate the both sides, I used first tcp/ip socket; so i put my python's methods on a loop then I ask each time from my c# application to run an method. This idea is very bad as it require to cover all use cases that can be happening on network or something like that. After a work of search, I have found three technologies that can answer a client/server architecture which are RPC, RMI and WCF. RMI a java oriented solution so it is rejected. So, my question here is: does RPC and WCF support multi programming languages (interoperability) especially betwenn C# and python?
I'm not sure I completely understand your use case, but I would suggest having a look at a REST API approach if you need to have .Net talk to Python, or vice versa.
An alternative is using Pyro4 to expose Python objects on your Python server side and talking to them via the C# client library provided by Pyrolite. This mostly hides any networking specific programming details.

How does one go about sending login information to a server in c# for an android mobile app?

The extent of my knowledge in coding is basic business applications in vb and c++. I understand very basic formatting and keywords. The most complicated thing i have ever made is a drink machine in c++. I have read some c# textbooks and I am still confused on how apps themselves send data to a server such as logging into an account on said server. What keywords would be used to do this, and what is the best way to learn about this? ELI5

Network programming and Packets interactions

Greeting,
This month I will start working on my master thesis. My thesis's subject is about network security.
I need to deal with network interfaces and packets.
I've used shappcap before to interact with packets but I'm not sure if C# is the most powerful language to deal with network programing and packets.
I worked a bit with wireshark and I saw how powerful it is and as you know winsharp is open source developed using C++.
I'm not sure if I should use C# or C++ for network security programming and I want your through about the best language might be for network programming and packets interaction.
should I use C#, C++, or java or some thing else?
please give me your advice.
Thank you,
UPDATE
..........................
I'm going to do different packet mining by taking each packet and read each field on it then use these values and in same stages I would modify some of the packets value then resend them back.
I want to control the packet since it received by the network interface until it passes to the application layer.
also
You'd be able to do network programming using almost any language you want to. If you are equally comfortable in all of the languages you've mentioned, you should determine what system libraries or APIs will you be interfacing with. For example, if you will be doing packet-level network programming on a Unix system, C would probably be your best best. If you want to integrate with Wireshark, go with C++. If you want to use an Apache Commons component, use Java. I suggest you come up with a more specific set of requirements for your actual program before trying to decide which language to use.
WireShark uses WinPCap so you could go that route as well.
For security application, is that a intrution detection system or do you actually want to drop offending packets? WinPCap, SharpPCap etc. do not allow you you drop packets, for this you will need to look at some kind of intermediate driver or look at Windows Filtering Platform (WFP)
http://www.microsoft.com/whdc/device/network/WFP.mspx
IMHO, if you can find a callback driver that calls back to user mode and allows you to filter the packets from C# or C++, this would probably be fine for experimental purposes etc. but for a production solution, I think you would need to stick to the kernel level to ensure that you can keep-up with the peek volume.
Use C++, Boost and Poco and you can do what you want. Boost asio is: Portable networking, including sockets, timers, hostname resolution and socket iostreams. Poco library also provides solutions for network, cryprography NetSSL ... and more. For more information you can visit www.boost.org and www.pocoproject.org
You can use java if you like - jpcap works well.
I would suggest using C#, since there is a very strong library called Pcap.Net that wraps WinPcap with .NET code. This should make it easy for you to receive, send and interpret packets different packets of different protocols.

VOIP in C#, asp.net or Java

Could you people please give some good resource / ideas of implementing VOIP in c#.net, Asp.net or Java.
Why I am specifying 2 different language platforms is we are yet to take up a call.
Basically we don't have the idea henceforth the concept is more important to us.
We are going to make a White board application and one of the client requirement is
White board should have VOIP
conferencing, chat image sharing and
ability to upload .pdf files
I reckon your looking into developing software like orange business webex or something similar. The software is not too difficult to develop. First, are you planning to write the entire application yourself or just purchase the components and integrate ? I would recommend you shop around for components and just integrate because VOIP is rather complex.
Here is a link for SIP communicator in java which supports VOIP
Doing simple point-to-point VOIP isn't too difficult. Basically, you need a codec on each end, and then typically use UDP to send encoded packets from one end to the other.
There can also be network connectivity issues, particularly related to NAT.
If you want to interoperate with existing VOIP-based systems, then you will need to support one of the underlying connection protocols, such as H.323, and you may also need monitoring and control over RTP. Those protocols are notoriously complex.
There are a bunch of tricks to play when doing this kind of thing with a managed language like C# or Java, particularly related to avoiding hiccups due to GC.
A link to a few more Java VOIP projects/components:
http://voip.dev.java.net/
One "gotcha" to beware of, in terms of future functionality, is that Java's (as opposed to JavaFX's) video support is something of an open question at the moment.

C# Interop with C vs Interop with Java: Which is better/easier/faster?

I have an application in C# that currently authenticates to LDAP. We want to extend functionality to support IBM's Tivoli Access Manager, which is comprised of a Policy Server, and an LDAP server (and other modules as well). Unfortunately authenticating with the LDAP server for our customer is not acceptable, thus we must bind with the policy server instead.
The TAM's Policy Server has 2 APIs for authentication, one in Java, and one in C
My question: What is the better language for C# to interop, C or Java?
Keeping in mind: maintainability, and cost of development.
Thanks everyone in Advance.
Seems to me that C is the easier language for C# to inter-operate with, as there's a native interface in .NET to allow "unsafe" access. To communicate with Java, you have to go though JNI to get into Java, or use J#, or otherwise jump through hoops to communicate from C# to Java and back again.
I've not done any C# to Java communication (except across a socket or across Web Services), but I was on a team that used JNI to communicate from Java to COM via C++ code. We ended up having to throw away the JNI solution as too unwieldy. We rewrote the C++ component in C# and used a nailed-up socket for communication between the two components. This worked fabulously.
From this experience, if you are already using C#, then I would use the C API from C#. This is easy to do.
I've had good success with Managed C++/CLI for interfacing with C/C++ in the past, can't speak much on interfacing with java.
Also if you are going for straight C you can export the function calls directly to C#.
I would think that the API you are interfacing is nothing but an API. One front-end is Java, and the other is C, but you probably aren't interacting with Java code, probably just C.
That said, I suppose it would be whichever interface seems simpler. I'm guessing that C is, but if there is some great Java binding software that lets C# access Java libraries easily, it might be better.
Chances are they both link to C code right beneath the API.
I like Eddie's answer, but I would temper it with this observation - it depends on the skill set you ave in house. If you;'ve got a bunch of Java pros, then it makes sense to use Java. If you have a bunch of C-programmers, then the chouice is obvious.
One other comment though : are you sure TAM doesn't do .NET?
You shouldn't need to do any bridge between C# and C or Java. As Cheeso referenced, TAM has had a supported .NET API for a while now -- see here for information.
I am author of jni4net, open source intraprocess bridge between JVM and CLR. It's build on top of JNI and PInvoke.

Categories

Resources