Wednesday, October 30, 2013

C# server in window and C client in linux

my client program is



#define SERVERPORT 1234

int main ( )
{
int sockfd, n;
struct sockaddr_in serv_addr;
struct hostent *serverINFO;

char buffer[256];
char hostname[1024];
//struct hostent* h;
gethostname(hostname, sizeof(hostname));
serverINFO = gethostbyname(hostname);

if(serverINFO == NULL)
{
printf("Problem interpreting host\n");
return 1;
}
sockfd = socket(AF_INET, SOCK_STREAM, 0);

if (sockfd < 0)
{
printf("Cannot create socket\n");
return 1;
}
inet_pton(AF_INET, "192.168.0.1",&(serv_addr.sin_addr));
serv_addr.sin_port = htons (SERVERPORT);

if(connect(sockfd, (struct sockaddr *)&serv_addr, sizeof (serv_addr)) < 0)
{
printf("Cannot connect\n");
return 1;
}
else
printf("Connected\n");
}

my server program is



namespace server_window
{
public partial class Form1 : Form
{
static TcpListener tcpListener = new TcpListener(IPAddress.Parse("192.168.0.2"), 1234);
TcpClient socketForClient;
EndPoint ep;
public Form1()
{
InitializeComponent();
BW_Connection.RunWorkerAsync();
}

private void BW_Connection_DoWork(object sender, DoWorkEventArgs e)
{
tcpListener.Start();
socketForClient = tcpListener.AcceptTcpClient();
ep = socketForClient.Client.RemoteEndPoint;
this.Invoke(new MethodInvoker(delegate { TB_text.Text = "Client connected..."; }));
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
socketForClient.Close();

}

}
}


No comments:

Post a Comment