PDA

View Full Version : سوال: کلاینت سرور در وبی تحت داس !!!



dr.pantagon
سه شنبه 11 تیر 1387, 01:22 صبح
سلام
لطفا راهنمایی کنید
یک برنامه کلاینت سرور که که تاریخ رو از کاربر بگیرد و برای سرور بفرستد و سرور تاریخ ورودی ( شمسی ) رو به میلادی تبدیل کند و برای کلاینت بفرستد.

این برنامه رو خودم تحت ویندوز یعنی گرافیکی نوشتم ولی مشکل این است که این برنامه رو باید تحت داس باشه یعنی تحت کامند باشه

اگر لطفا کنین یک مقاله بزارین که من با وی بی بتونم این کار یا مثل این ها ( کنسول پروگرامینگ تحت وبی دات نت ) رو انجام بدم ممنون می شم

yavari
سه شنبه 11 تیر 1387, 08:46 صبح
سلام

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

تو این نمونه ها میتونید اینکار رو در قالب یه سمپل با کنسول ببینید .
http://www.beansoftware.com/net-tutorials/remoting-application.aspx
http://msdn.microsoft.com/en-us/library/6tkeax11(VS.71).aspx

تو این سمپلی که آپلود کردم ریموتینگ خیلی ساده بیان شده اما در ظاهر یه کنسول اما در واقع با win app

امیدوارم براتون مفید باشه
موفق باشید.

dr.pantagon
سه شنبه 11 تیر 1387, 12:15 عصر
تشکر دارم روش کار می کنم انشاالله حل شه
جالب است نام کاربری شما با فامیل من یکی است =))
تشکر

dr.pantagon
سه شنبه 11 تیر 1387, 12:31 عصر
دستت درد نکنه ولی نتونستم ازش استفاده کنم یک مقاله فارسی موجود نیست در این باره کسی چیزی ندیده!!!!

dr.pantagon
چهارشنبه 12 تیر 1387, 02:16 صبح
من خودم کد کلاینت و سرور رو درست کردم حالا برای تبدیل تاریخ تو کنسول کمک کنید لطفا
این دیگه کار سختی است مبتدی نیست
لطفا این رو کمک کنید دیگه
کد کلاینت


Imports System.Net
Imports System.Net.Sockets
Imports System.IO
Imports System.Threading


Public Class MainClass
Shared Stream As NetworkStream


Public Shared Sub Main()
System.Threading.Thread.Sleep(TimeSpan.FromSeconds (1))

Dim Client As New TcpClient
Try
Client.Connect(IPAddress.Parse("127.0.0.1"), 200)
Console.WriteLine("TCP Client Connection established.")
Console.WriteLine(New String("-", 40))
Console.WriteLine()

Stream = Client.GetStream()

Dim ReceiveThread As New Thread(AddressOf ReceiveData)
ReceiveThread.IsBackground = True
ReceiveThread.Start()

Dim w As New BinaryWriter(Stream)

Dim Text As String
Do
Text = Console.ReadLine()
If Text <> "QUIT" Then w.Write(Text)
Loop Until Text.ToUpper() = "QUIT"
Client.Close()
Catch Err As Exception
Console.WriteLine(Err.ToString())
End Try
End Sub

Private Shared Sub ReceiveData()
Dim r As New BinaryReader(Stream)
Do
If Stream.DataAvailable Then
Console.WriteLine(("RECEIVED: " + r.ReadString()))
End If
Loop

End Sub
End Class

کد سرور


Imports System.Net
Imports System.Net.Sockets
Imports System.IO
Imports System.Threading

Public Class MainClass
Shared Stream As NetworkStream

Public Shared Sub Main()
Dim a As Integer
a = Console.ReadLine
Dim Listener As New TcpListener(a)
Listener.Start()

Console.WriteLine("TCP Server Waiting for a connection...")

Try
Dim Client As TcpClient = Listener.AcceptTcpClient()
Console.WriteLine("Connection accepted.")
Console.WriteLine(New String("-", 40))
Console.WriteLine()
Stream = Client.GetStream()

Dim ReceiveThread As New Thread(AddressOf ReceiveData)
ReceiveThread.IsBackground = True
ReceiveThread.Start()
Dim w As New BinaryWriter(Stream)

Dim Text As String
Do
Text = Console.ReadLine()
If Text <> "QUIT" Then w.Write(Text)
Loop Until Text.ToUpper() = "QUIT"
ReceiveThread.Abort()
Client.Close()
Listener.Stop()

Catch Err As Exception
Console.WriteLine(Err.ToString())
End Try

End Sub

Private Shared Sub ReceiveData()
Dim r As New BinaryReader(Stream)
Do
If Stream.DataAvailable Then
Console.WriteLine("RECEIVED: " + r.ReadString())
End If
Loop

End Sub

End Class