Connecting C# application to iOS device via lightning cable - c#

I haven't been able to find any resources regarding this, so I thought I'd ask here.
I have an iOS app that I am developing, as well as a C# desktop app. I'm currently able to connect the two by creating a Socket Server on the desktop app, and connecting from the iOS app. This works well, but I'd like to do this without requiring the devices being on the same network. Communicating via Usb (lightning port) seems like the logical choice, but I can't find any resources at all about how to do this. Are there any tools or best practices regarding this, or is this even possible?
Thanks!

Peertalk, an open source library allowing to pass TCP connections through the USB connection without being part of the MFI program. PeerTalk uses the iTunes usbmux system to relay TCP connections across the iOS USB connection.

I wasn't able to use Peertalk, since I'm using Xamarin for my project. However, I spent the last week researching and documenting what I learned, and I posted it as a blog post here
http://thecodewash.blogspot.com/2017/05/communicating-with-your-ios-app-over.html
Hopefully this helps others.

Related

WebRTC media server

two days ago I started looking into WebRTC, looked at a view examples and tested it a bit myself, and it looks really interesting.
However my qustion is, what would be a good way of implementing a WebRTC "media server" in c#. The media server should be able to connect two clients, not peer to peer, but peer to server to peer. So I can for example record conversations on the server or have a group meeting.
Would it be possible to create a Windows service, which you can contact from a web application like ASP.Net?
I already had tons of tabs opened and found Microsofts WebRTC-UWP-SDK as well as their ORTC. Would they be able to work in a Windows service, or should I use the WebRTC native code? Maybe it is also possible to create a connection via a normal RTP connection?
All WebRTC media servers I found are either written in c, c++ or NodeJS.
So does anyone have an idea, what would be a good solution to implement a c# WebRTC media server, which can run on a windows server?
Thank you all for your help.
I know and have used one before. The media server is based on .Net and has a lot of features and supports many programming languages and platforms. It is the Frozen Mountain's Liveswitch server.
See https://www.frozenmountain.com/products-services/liveswitch/ for more

How to detect mobile device(Iphone) connected to USB in windows forms application?

I am developing a windows forms application which should communicate with Mobile devices(First with iOS devices, later with Android). Communication can only be through Usb port. Which is the best way to detect if the mobile device is connected, and if it is possible to connect windows application with only a specific mobile application.
I hope someone can help me!
Thank you
I know this post is a bit old, but I recently wrote a blog post explaining how I was able to achieve this
http://thecodewash.blogspot.com/2017/05/communicating-with-your-ios-app-over.html
To answer your question (so this answer isn't just a link), yes it definitely is possible to achieve this utilizing the USB Multiplexing Daemon (usbmuxd) program that is usually installed as part of iTunes. This program can create a socket connection to your iOS device through the USB cable, and allow you to communicate via that socket connection like you would any other socket. The link goes into much more detail.
Hope this helps anyone else looking for answers regarding this.

Communication between C# application and iPhone app

I googled now a few days and didn't find a good solution for me (maybe I am too bad...).
I have an C# application which have data what the iphone app wants.
So I am logging in on my iPhone app and the C# app should send data.
So I need a central server who handles the requests. But this is my problem I dont find a good solution.
If it would be in a local network I would do this with sockets. But I want to do this over the internet.
I read about php socket server.
But if I have a server with a static ip, can I run a self written C# socket sever on a vm?
Thanks for help!
You don't say how much data you want to transfer. If it's not that much, you might consider a message queue. You can set up a free account at http://www.iron.io/mq to test with. Their free account is pretty generous, so depending on your needs, it might work as a permanent solution as well.

communication between two emulators through server pc as middle man

i want to built an application which is communication network between two emulator. i have already connect emulator with server.
Now i want to connect two emulators through server(C#) which is PC. like we sent sms through mobile networks.
I need guidance to start this.
I am not sure what your requirements are and how far you would go to implement best practices, however, here are some points to consider based on my experience on a similar application, just to make it clear we worked on a solution where many Android phones would connect to a server to send/receive data.
Web Service is the way to go, this is what web services are meant for, we created WCF based APIs for the applications connecting to the server.
You are working on a heterogeneous system Java on Android, C# on the Server, consider creating REST based APIs on the server for data transfer
Go through these to get a feel of what needs to be done onthe server...
http://www.codeproject.com/Articles/105273/Create-RESTful-WCF-Service-API-Step-By-Step-Guide
http://msdn.microsoft.com/en-us/library/dd203052.aspx
And this for what needs to be done at Android side...
http://docs.xamarin.com/android/tutorials/consuming_web_services
hope that helps....

Building a Modem Control Software: the connection part

I have a 3G modem, and the accompanied "Mobile Partner" software really s*cks, and I want to make my own. Currently, I've found out the following:
Sending/Interpreting AT commands
Setting the APN/PIN/Network Registration/...
These things were well-documented on many sites. But now I want to connect, and here the problems start:
If I try to do a ATDT *99#, which should dial the *99# number, I get the message CONNECT. But what do I need to do now? How do I tell windows to use the dial in network?
Is the '*99#' even the number I should dial? (I think so, because it's the default dialing number in the Mobile Partner application, and on OS X on my 3G modem)
I'm writing this program in C#.
Thank you!
Yvan
I doubt that you would need to solve this in code. It's more of a Windows configuration thing.
Most 3G modems install a modem driver - which is what your Provider's software is using to connect.
In Windows Vista / Windows 7, you just go and set up a new Dialup connection, select your 3G Modem, and enter the *99# number.
Edit:
(Replying to question in comments)
If you want to create this connection on just your own, or maybe a handful of computers then I would say it's quicker to do it by hand to set-up. (It takes maybe a minute or two at most following the Networking wizard)
Once the connection is created, then you simply click Connect any time you want to dial the 3G Connection.
I've done this for several USB 3G dongles and built in 3G Modems - they've all worked fine.
I did look for ways to automate creation of Windows Dial-up networking connections, but I can't find any information.
I would suggest creating a new question on Superuser.com or perhaps Serverfault.com which is probably more suited to windows-administration tasks.

Categories

Resources