socket Communication from Arduino to C# .NET

Hi everyone,

I'm working on project to create a communication between an arduino w/ wifi shield and a PC. The Arduino is set to operate as a Socket server waiting for a request from the PC client. The Arduino design was done by my partner, and I wrote the code for the PC client using the C#.Net Framework. The code is pretty standard, and can be seen below. My partner tested his server application against a commandline based Linux C++ client and are able to connect quite easily. I've written a server application in .NET and my client can communcate without troubles. The problem that we are running into is when we try to connect the Arduino server with .NET Client. We're on a LAN both using WIFI (I'm pretty sure that's not the problem as the working cases were as well) His IP is static, so I'm requesting 192.168.1.20:PORT at all times, We've tried varying the port, but with no success. I have traced the C# code and the error does come down to PCSOCK.connect(). The catch drops a standard "Server did not respond withing alloted time" message. I'm kindof running out of things to try and any direction on why this might be the case would be very much appriciated.

Thanks

Tim M

Code follows:

namespace PCClientControl
{

public partial class Form1 : Form
{
const string Webcamip = "192.168.1.21";
const string MicContip = "192.168.1.20";

Socket PCSock;
const int Mcport = 8221;
private System.Windows.Forms.Button cmdSendData;

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}
private void WC_click(object sender, System.EventArgs e)
{
/// the user has requested the web camera be turned on,
/// my two goals here are to send a power up request to the
/// arduino, and then open an instance of IE to the webpage
/// for the camera.
/// step 1. pull down IP address for arduino and WC
/// step 2. send power up request to the webcamera
/// step 3. open IE instance @ webcamera IP

try
{

PCSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// calls new socket
/// Step 2.
System.Net.IPAddress MCIPAddress = System.Net.IPAddress.Parse(MicContip);
PCSock.Connect(MCIPAddress, Mcport);
MessageBox.Show("Made it Here");
string Command = "This is a test";
byte[] SendData = System.Text.Encoding.ASCII.GetBytes(Command);
PCSock.Send(SendData);
/// Step 3
/// one problem
System.Diagnostics.Process.Start("IEXPLORE.EXE", Webcamip);
//PCSock.Receive(
}
catch (SocketException se)
{
//One thing people also often do here is show the exception stack trace,
//or the function that it failed in. Very helpful once your code starts
//to get complicated. Something like this.
//string errorMsg = "Error Message: " + se.Message + " at: " + se.StackTrace;

MessageBox.Show(se.Message);
}

}

}
}