PDA

View Full Version : ارتباط با سخت افزار باسکول



saman_hm
سه شنبه 01 تیر 1395, 14:54 عصر
یه مشکل خیلی ناجور برخورد کردم .
باید برای یه باسکول برنامه بنویسم که وزن و نشون بده

این باسکول از طریق پورت لن و روی پورت 1470 دیتارو میفرسته . توی هایپر ترمینال درسته و نشون میده ولی من کلا بلد نیست که کد C# اون چی میشه .

لطفا منو راهنمایی کنید چطور میتونم اطلاعاتی که این باسکول روی شبکه میفرسته رو نمایش بدم .

متشکرم

daffy_duck376
سه شنبه 01 تیر 1395, 18:24 عصر
دوست عزیز شما باید به اون پورت گوش بدی اگر پکتی اومد بخونی و اون رو نمایش بدی . کار بسیار راحتی هست
کار بسیار راحتی هست این هم نمونه اش
https://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener(v=vs.110).aspx

saman_hm
سه شنبه 01 تیر 1395, 21:05 عصر
دوست عزیز شما باید به اون پورت گوش بدی اگر پکتی اومد بخونی و اون رو نمایش بدی . کار بسیار راحتی هست
کار بسیار راحتی هست این هم نمونه اش
https://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener(v=vs.110).aspx


تشکر میکنم از راهنمایی تون
اما من با این نمونه که گفتید کار کردم ولی جوابی نگرفتم .

saman_hm
سه شنبه 01 تیر 1395, 21:11 عصر
این کد منه - وقتی میرسه به کد server.Start(); ارور The requested address is not valid in its context میده
class Program {
static void Main(string[] args)
{
TcpListener server = null;
try
{
Int32 port = 1470;
IPAddress localAddr = IPAddress.Parse("192.168.0.235");


server = new TcpListener(localAddr, port);


server.Start();


Byte[] bytes = new Byte[256];
String data = null;


while (true)
{
Console.Write("Waiting for a connection... ");


TcpClient client = server.AcceptTcpClient();
Console.WriteLine("Connected!");


data = null;


NetworkStream stream = client.GetStream();


int i;


while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
{
data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
Console.WriteLine("Received: {0}", data);


data = data.ToUpper();


byte[] msg = System.Text.Encoding.ASCII.GetBytes(data);


stream.Write(msg, 0, msg.Length);
Console.WriteLine("Sent: {0}", data);
}


client.Close();
}
}
catch (SocketException e)
{
Console.WriteLine("SocketException: {0}", e);
}
finally
{


server.Stop();
}




Console.WriteLine("\nHit enter to continue...");
Console.Read();
}
}

saman_hm
چهارشنبه 02 تیر 1395, 18:39 عصر
مشکلم حل شد . حالا مشکل اینه که میخوام از چند IP اطلاعات بخونم . لطفا اگر کسی میدونه کمک کنه

saman_hm
سه شنبه 08 تیر 1395, 09:55 صبح
کسی نیست که اطلاعاعتی داشته باشه ؟

daffy_duck376
چهارشنبه 09 تیر 1395, 14:30 عصر
شاید بشه چند تا theread تعریف کنی و هر هر آی پی رو تو یکش شون بخونی

esagraphic
پنج شنبه 10 تیر 1395, 11:22 صبح
مشکلم حل شد . حالا مشکل اینه که میخوام از چند IP اطلاعات بخونم . لطفا اگر کسی میدونه کمک کنه

منظورت میخواهی همزمان از چندین IP بخونی یا دستگاه های متفاوت و آی پی ها متفاوت است

saman_hm
جمعه 11 تیر 1395, 16:42 عصر
منظورت میخواهی همزمان از چندین IP بخونی یا دستگاه های متفاوت و آی پی ها متفاوت است
10 تا دستگاه هست که یک رنج IP دارن

این 10 تا ممکنه همزمان هم دیتا بفرستن . میخوام از این IP ها دیتارو بگیرم و به محض اینکه گرفتم یه کد بهش برگردونم.

esagraphic
چهارشنبه 28 مهر 1395, 12:59 عصر
10 تا دستگاه هست که یک رنج IP دارن

این 10 تا ممکنه همزمان هم دیتا بفرستن . میخوام از این IP ها دیتارو بگیرم و به محض اینکه گرفتم یه کد بهش برگردونم.

سلام تا جای که من مطالعه داشتم در مورد این سیستم ها هر دستگاه یک قسمت adress داره یعنی میتونی به هر دستگاه یک ادرس بدی بعد توسط ارتباط که داری مشخص کنی که از کدوم آدرس بخونه مدل نشاندهنده را برام بفرست ببینم