PDA

View Full Version : ارتباط بین اندروید و سی شارپ



eletcomp
جمعه 22 تیر 1397, 12:05 عصر
با سلام
من میخوام بین اندروید و پی سی به وسیله سوکت نویسی ارتباط بر قرار کنم: مثل نرم افزار چت تصویری و.. میخواستم بدونم ایا این امکان وجود دارد ؟ زبان سمت کلاینت که همان با b4a باشه و برای سرور با سی شارپ و... ایا اموزشی سراغ دارید؟
سپاس

رامین مرادی
شنبه 23 تیر 1397, 08:25 صبح
شما برنامه نویسی سوکت رو تو هر دو زبانی که میخواید استفاده کنید رو یاد بگیرید. مثلا برا سرور برنامه نویسی سوکت رو یاد بگپیرید. و یه سرور بنویسید. بعد تو اندروید هم برنامه نویسی سوکت رو یاد بگیرید و یه کلاینت درست کنید. . سوکت فقط یک واسط هست. شما آی پی و پورت سرور رو میدید و سرور هم که به گوش وایساده و جواب میده.
برا سرور همون سی شارپ و برا اندروید جاوا خوبه.(البته راجب nodjs هم بهتره یه کم مطالعه کنید.)

sds1920
یک شنبه 24 تیر 1397, 11:39 صبح
دوست عزیز اگه قراره ارتباط به صورت همزمان و Real Time باشه سوکت گزینه مناسبی هست ولی اگر ارتباط غیر همزمان هست من ترجیم میدم از گزینه ی وب سرویس استفاده کنم. چون با سوکت شما همه کارهایی که انجام میدی با بایت ها هست و Serialize و Deserilize کردن داستان خودشو داره. مخصوصا زمانی که حجم داده ای که داری جابجا میکنی بزرگ باشه نیاز به مدیریت دقیق داره.
ولی این یک نمونه ساده سمت سرور و کلاینت برای سوکت هست که به زبان سی شارپ هست.
شما میتونی سمت سرور از همین کد سی شارپ استفاده کنی ولی سمت کلاینت رو با جاوا بنویسی. تفاوت چندانی نداره اصول یکسانه ولی شکل دستوارت کمی فرق داره.

سمت سرور

var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
var endPoint = new IPEndPoint(IPAddress.Any, 8585);
socket.Bind(endPoint);
socket.Listen(10);
var clientSocket = socket.Accept();
var buffer=new byte[1024];
clientSocket.Receive(buffer);


سمت کلاینت

var ip = new IPAddress(new byte[] { 192,168,110,11 });
var endPoint = new IPEndPoint(ip, 8585);


var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(endPoint);


socket.Send(new byte[] {97 , 98 ,99 });



پیشنهاد من اینه که اصول برنامه نویسی سکوت رو حتما مطالعه کنید تا نحوه استفاده مناسب از متدهایی مثل Bind , Listen , Accept رو یاد بگیرید.