Hi everyone, I am writing client C socket program in Linux and server C# socket
program in window. I am also running these 2 programs in different PCs. When I
run client program it shows that "Cannot connect".
my client C program in
Linux is
Code:
#include <sys/socket.h>  //for socket(), connect(), sendto() and recvform()
#include <sys/types.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>  // for printf() and fprintf()
#include <string.h>  //for memset()
#include <stdlib.h>   //for atoi() and exit()
#include <unistd.h>  //for close()
#include <errno.h>
#include <arpa/inet.h>  //for sockaddr_in and inet_addr()
 

#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_family = serverINFO ->h_addrtype;
	//memcpy((char *) &serv_addr.sin_addr, serverINFO->h_addr_list[0], serverINFO->h_length);
	//serv_addr.sinport = htons(SERVERPORT);
	//bzero((char *) &serv_addr, sizeof(serv_addr));
	//serv_addr.sin_family = AF_INET;
	//memcpy(&serv_addr.sin_addr, server->h_addr, server->h_length);
	//bcopy((char *)server->h_addr,(char *)&serv_addr.sin_addr.s_addr,server->h_length);
	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");
	/*printf("Please enter the message: ");
	bzero(buffer, 256);
	fgets(buffer,255,stdin);
	n = write(sockfd, buffer, strlen(buffer));
	
	if (n < 0)
		printf ("ERROR writing to socket");
	bzero(buffer, 256);
	n = read (sockfd, buffer, 255);
	
	if (n < 0)   
		printf ("ERROR reading from socket");
	printf("here we are %s\n", buffer);
	close(sockfd);*/
}
my server C# program in window is

Code:
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();
            
        }

    }
}
If my program is wrong, pls kindly let me know. Coz I am a bit new to socket
programming and Linux. Thanks a lot..