需要做C#和VC之间socket通信的程序,C#是客户端,VC++是服务器
现在C#和C#之间通信,已经没有问题,因为对VC不太熟悉,从网上找了些VC做的聊天之类的程序。
现在用C#连接VC怎么也连不上~提示:由于目标机器积极拒绝,无法连接
C#端:
private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                IPAddress myIP = IPAddress.Parse("127.0.0.1");
                MyServer = new IPEndPoint(myIP, 5000);
                connectsock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                connectsock.Connect(MyServer);
                listBox1.Items.Add("与主机" + "127.0.0.1 " + "端口" + " 5000 " + "连接成功!\r\n");
                thread = new Thread(new ThreadStart(receive));
                thread.Start();
            }
            catch (Exception ee)
            {
                listBox1.Items.Add(ee.Message);
            }
        }VC端:
        SOCKET mySocket; 
        SOCKADDR_IN          ServerAddr; 
         mySocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
       ServerAddr.sin_family = AF_INET;
       ServerAddr.sin_port = htons(5000);    
       ServerAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
哪里的问题呢??好郁闷啊~ 
谁有现成的C#和VC连接成功的实例给提供一下 那就更好了! 
谢谢帮忙~

解决方案 »

  1.   

    侦听都不开  怎么通。。VC端  仅仅是写了个开头
    IP  PORT。
      

  2.   

    首先确保VC的服务端是可用的,正确的;如果是正确的,查看C#编译是不是为unicode,如果是,改成非unicode
      

  3.   

    这些完全可以让C++来实现,提供给你接口调用就行了,C#最好不要用自己的socket与C++相连,
      

  4.   

    VC编译成DLL文件,在C#中调用
    确保连接正确
      

  5.   

    谢谢大家 
    可能是我VC端代码没有贴全,VC那边我是从网上下的聊天室程序,之前VC自身的客户端和服务器是可以正常连接并通信的,我就把服务器端就改了一下IP和端口,然后启动服务,然后我启动C#程序点连接按钮,结果没反应。。to:windchenhonglong
    首先确保VC的服务端是可用的,正确的;如果是正确的,查看C#编译是不是为unicode,如果是,改成非unicode这个是什么意思,能详细说下吗
    lianshaohua、wuyq11两位 
    我现在做的这个VC只是想测试用的,因为最终的VC版本是客户提供的 我现在拿不到!!怕最后他们不给提供接口和Dll。
      

  6.   

    的确是绑定和监听的问题。,可是原来VC之间连接好像没看到有绑定语句啊反正糊里糊涂解决了
    有人知道VC里接收结构体语句怎么写吗?我现在用聊天的程序接收都是乱码(可以理解) 
    不过这个问题好像应该发到vc版块里 呵呵 希望有惊喜
      

  7.   

    学习一下,,SOCKET通信,俺也是刚学.
      

  8.   

    Socket通信中都是字节流罢了,结构体也好,类也好,都是需要你自己去按照约定的应用层协议来解析的
      

  9.   


    对网络编程不够理解。Socket两个不管用什么语言都可以连接的,因为socket用的是TCP协议,和语言无关,你肯定是服务端没有监听或是可能有防火墙