# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > WCF , Web Services , .Net Remoting >  ارسال داده از یک کامپیوتر به یه کامپیوتر

## behzadk

با سلام 
چگونه میشه داده از یه کامپیوتر به به یه کامپیوتر با ip مشخص در شبکه فرستاد؟
و آیا میشه یه بسته tcp ip فرستاد در داخل شبکه بدون آدرس ip فرستاد که همه کامپیوتر ها اونو دریافت کنند تقریبا مثل  dhcp 
با تشکر

----------


## behzadk

پس چرا کسی جواب نمی ده ؟

----------


## اَرژنگ

سوالتان یا مبهمه و یا اینکه بی معنی است برایه ما. چکاری میخواهید انجام بدید؟ یک برنامه مانند چت؟

----------


## ASKaffash

> چگونه میشه داده از یه کامپیوتر به به یه کامپیوتر با ip مشخص در شبکه فرستاد؟


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

----------


## behzadk

یه منبعی یا مثالی ندارید 
من که  خیلی گشتم نتونستم پیدا کنم 
با تشکر

----------


## Blackk_lightt

سلام
فکر کنم این مقاله به دردت بخوره

----------


## Masiha1986

با سلام
دوست عزیز برای این کار می تونید از NET Remoting. استفاده کنید.
پروژه نمونه رو از قسمت 'فایل های پیوست شده' دانلود کنید (NET 3.5.)

----------


## behzadk

با تشکر از راهنمایی ها و مثال ها 
یه سوالی که برای من پیش آمده اینکه چرا با پورت 5050 کار می کنید؟ ایا این پورت همیشه باز است؟
من می خوام یه پورت مختص برنامه خودم باز کنم
این کار امکان پذیر است 
اگر بله چطوری؟
با تشکر

----------


## Masiha1986

با سلام
دوست عزیز شما برای ایجاد ارتباط از هر پورتی که توسط یک برنامه دیگه باز نشده باشه می تونید استفاده کنید.
در ضمن من از پورت 8080 استفاده کردم نه 5050.

----------


## behzadk

با تشکر از راهنمایی همه دوستان 
توی ip فید بک همان 127.0.0.1 کار می کنه اما توی دو کامپیوتر در شبکه با error مواجه میشیم
و error
چه طور میشه کل permission رو برداشت و آزاد کار کرد بدون هیچ محدودیتی
با تشکر

----------


## behzadk

پس چرا کسی جواب نمی ده

----------


## Masiha1986

با سلام
کد توی Constructor فرم Client رو به این کد تغییر بده تا بتونی به سرورت Authenticate کنی:

//************************************* TCP *************************************//
// using TCP protocol
IDictionary dictionary = new Hashtable();
dictionary.Add("secure", "true");
dictionary.Add("timeout", 30);
dictionary.Add("username", "YourServerUserName");
dictionary.Add("password", "YourServerPassword");

TcpClientChannel channel = new TcpClientChannel(dictionary, new BinaryClientFormatterSinkProvider());

if (ChannelServices.GetChannel(channel.ChannelName) != null)
{
    ChannelServices.UnregisterChannel(ChannelServices.  GetChannel(channel.ChannelName));
}

ChannelServices.RegisterChannel(channel, false);
// Create an instance of the remote object
remoteObject = (MyRemoteObject)Activator.GetObject(typeof(MyRemot  eObject), "tcp://YourServerIP:8080/HelloWorld");
//************************************* TCP *************************************//


فقط دقت کن که بعد از اتمام کارت Channel رو Unregister کنی تا port سرورت باز نمونه :

ChannelServices.UnregisterChannel(channel);و هم چنین برای این کار روی سرورت یک User با حداقل دسترسی ها ایجاد کن تا برای سرورت مشکل امنیتی ایجاد نشه.

----------


## samsami

ارسال داده از سرور به کلاینت به سبک زیر با استفاده از پروتکل TCP چگونه انجام میشه 

st s=new st();
s.name="ali";
s.family="rezaee";

حالا ما می خواهیم شی s را به کلاینت ارسال کنیم چگونه میشه  آیا راهی هست که خاصیت شی بودنش حفظ بشه

----------

