Can*_*nox 9 .net c# client xamarin server
我在互联网上搜索了很多时间,但是找不到与我的情况相符的任何东西.
我只想用TCP或UDP实现一个服务器/客户端应用程序,其中我的Android App(Xamarin)充当服务器,我的.NET应用程序充当客户端.由于我没有太多的应用程序开发经验和没有Xamarin的经验,我一直在寻找一个例子.我发现的只有:
http://www.codeproject.com/Articles/340714/Android-How-to-communicate-with-NET-application-vi
首先,这是相反的方式(服务器在.NET和客户端作为应用程序),另外它是为Android Studio所以我很难将这些东西翻译成Xamarin而没有错误.
请有人帮忙,并举例说明如何实现我的问题?
谢谢!
在Xamarin.Android您可以使用所有常规.Net套接字类:
using System.Net;
using System.Net.Sockets;
Run Code Online (Sandbox Code Playgroud)
IPHostEntry ipHostInfo = Dns.GetHostEntry (Dns.GetHostName ());
IPAddress ipAddress = ipHostInfo.AddressList [0];
IPEndPoint localEndPoint = new IPEndPoint (ipAddress, 11000);
System.Diagnostics.Debug.WriteLine(ipAddress.ToString());
// Create a TCP/IP socket.
Socket listener = new Socket (AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
Run Code Online (Sandbox Code Playgroud)
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Run Code Online (Sandbox Code Playgroud)
基于MSDN的异步服务器套接字示例用作剪切/粘贴示例,没有任何更改.
使用MSDN代码,您可以AsynchronousSocketListener.StartListening在线程中调用静态方法,以开始侦听AsynchronousSocketListener类中定义的端口11000 .
new Thread (new ThreadStart (delegate {
AsynchronousSocketListener.StartListening();
})).Start ();
Run Code Online (Sandbox Code Playgroud)
>telnet 10.71.34.100 11000
Run Code Online (Sandbox Code Playgroud)
Trying 10.71.34.100...
Connected to 10.71.34.100.
Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)
连接后,输入,This is a test<EOF>Android将回复它:
This is a test<EOF>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11532 次 |
| 最近记录: |