PDA

View Full Version : سوال: برنامه نویسی Socket روی اینترنت



powerboy2988
چهارشنبه 10 فروردین 1390, 10:36 صبح
سلام
من می خوام یکسری اطلاعات رو از موبایل که win روشه با gprs بفرستم به یک pc.
می خواستم این کار رو با سوکت انجام بدم. تو محیط lan من یک برنامه ی چت ساده نوشتم..
اما وقتی یک ip دیگه بهش می دهم قبول نمی کنه و خطا می گیره.

نمی دونم چیکار باید کرد؟

ممنون میشم که راهنمایی بکنید...

سورس برنامه رو هم می زارم براتون



using System;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;

namespace client_sample
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

IPAddress ip;
IPEndPoint IpPort;
Socket socket;
int size = 0;
byte[] msg = new byte[256];


private void timer1_Tick(object sender, EventArgs e)
{
if (size != 0)
{
txtRecieve.Text = txtRecieve.Text + System.Text.Encoding.ASCII.GetString(msg);
}
size = 0;


}

private void button1_Click_1(object sender, EventArgs e)
{
btnConncetion.Enabled = false;
String ipName, portName;
ipName = txtIp.Text.Trim();
portName = txtPort.Text.Trim();

try
{
ip = IPAddress.Parse(ipName);
if (ip != null && portName != null)
IpPort = new IPEndPoint(ip, Convert.ToInt32(portName));
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(IpPort);
Thread thread = new Thread(new ThreadStart(getMessage));
thread.Start();
timer1.Enabled = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());

}
}

private void btnSend_Click(object sender, EventArgs e)
{
try
{
byte[] msg1 = new byte[60000];
msg1 = Encoding.UTF8.GetBytes(txtSend.Text);
socket.Send(msg1);
msg1 = null;

}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());

}
}
public void getMessage()
{
try
{
while (true)
{
size = socket.Receive(msg);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());

}
}
}
}

powerboy2988
جمعه 12 فروردین 1390, 00:15 صبح
کسی نظری نداره؟

vahid.bz
جمعه 12 فروردین 1390, 11:08 صبح
سلام
من يه پروژه دارم كه همين طوريه
اولش تلاش كردم با سوكت بنويسم ولي نشد
حالا با "وب سرويس" دارم يه كارايي مي كنم خيلي راحت تر از سوكته

haghft
جمعه 12 فروردین 1390, 12:40 عصر
از socket بیشتر برای شبکه های محلی استفاده میشه تا اینترنت!شما باید اگه ار وب سرویس استفاده کنید خیلی بهتره.:لبخندساده:

powerboy2988
جمعه 12 فروردین 1390, 16:30 عصر
ممنون از جفتتون..

example source دارین واسه وب سرویس؟