powerboy2988
چهارشنبه 10 فروردین 1390, 11: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());
}
}
}
}
من می خوام یکسری اطلاعات رو از موبایل که 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());
}
}
}
}