dashti011
چهارشنبه 05 آذر 1393, 02:07 صبح
سلام دوستان
من قبلا یک کد نوشته بودم برای اتصال به سوکت شبکه ( و وایرلس) به صورت TCP و به خوبی هم جواب میداد.
تصمیم گرفتم اونو به صورت کلاس بنویسم تا راحت تر استفاده کنم من دو تا متد توی کلاس Socket دارم که متد اولی به نام connect برای باز کردن سوکت وبرقرای ارتباط است و متد دومی به نام senddata برای ارسال اطلاعات البته در صورتیکه سوکت ساخته شده باشد . مشکلی که دارم این که وقتی شی سوکت به نام server را توی متد Connect میسازم و ارتباط برقرار میشه برای ارسال در متد Senddata به شی سوکت به نام server دسترسی ندارم . ممنون میشم راهنماییم کنید.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
namespace reverse1
{
class socket
{
private string resulat;
bool connected = false;
public string connect(string ip,string port)
{
IPAddress host = IPAddress.Parse(ip);
int portinput = int.Parse(port);
IPEndPoint ipep = new IPEndPoint(host, portinput);
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
server.Connect(ipep);
// "اتصال با موفقیت صورت گرفت ";
resulat = "Connect successfully";
connected = true;
return resulat;
}
catch (SocketException ex)
{
// Console.WriteLine("Unable to connect to server.");
resulat = (ex.ToString());
connected = false;
return resulat;
}
}
public bool Senddata(string datatext)
{
if (connected)
{
byte[] data = new byte[2048];
string welcome = datatext;
// string welcome = richTextBox1.Text;
data = Encoding.Unicode.GetBytes(welcome);
// در خط زیر نمتونم به شی سرور دسترسی داشته باشم
server.Send(data, data.Length, SocketFlags.None);
return true;
}
else
{
return false;
}
}
}
}
البته کلاس من هنوز کامل نشده و بخش دریافت اطلاعات مونده تا تکمیل کنم . با تشکر از دوستان :لبخند:
من قبلا یک کد نوشته بودم برای اتصال به سوکت شبکه ( و وایرلس) به صورت TCP و به خوبی هم جواب میداد.
تصمیم گرفتم اونو به صورت کلاس بنویسم تا راحت تر استفاده کنم من دو تا متد توی کلاس Socket دارم که متد اولی به نام connect برای باز کردن سوکت وبرقرای ارتباط است و متد دومی به نام senddata برای ارسال اطلاعات البته در صورتیکه سوکت ساخته شده باشد . مشکلی که دارم این که وقتی شی سوکت به نام server را توی متد Connect میسازم و ارتباط برقرار میشه برای ارسال در متد Senddata به شی سوکت به نام server دسترسی ندارم . ممنون میشم راهنماییم کنید.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
namespace reverse1
{
class socket
{
private string resulat;
bool connected = false;
public string connect(string ip,string port)
{
IPAddress host = IPAddress.Parse(ip);
int portinput = int.Parse(port);
IPEndPoint ipep = new IPEndPoint(host, portinput);
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
server.Connect(ipep);
// "اتصال با موفقیت صورت گرفت ";
resulat = "Connect successfully";
connected = true;
return resulat;
}
catch (SocketException ex)
{
// Console.WriteLine("Unable to connect to server.");
resulat = (ex.ToString());
connected = false;
return resulat;
}
}
public bool Senddata(string datatext)
{
if (connected)
{
byte[] data = new byte[2048];
string welcome = datatext;
// string welcome = richTextBox1.Text;
data = Encoding.Unicode.GetBytes(welcome);
// در خط زیر نمتونم به شی سرور دسترسی داشته باشم
server.Send(data, data.Length, SocketFlags.None);
return true;
}
else
{
return false;
}
}
}
}
البته کلاس من هنوز کامل نشده و بخش دریافت اطلاعات مونده تا تکمیل کنم . با تشکر از دوستان :لبخند: