读书人

C#和VC之间socket通信的有关问题~来的

发布时间: 2012-09-05 15:19:35 作者: rapoo

C#和VC之间socket通信的问题~来的有分~谢谢!急!
需要做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.看看服务器端监听有没有绑定IP地址,或者是没监听。
2.看看服务器端是否开了什么防火墙,或客户端有没有开什么防火墙。
[解决办法]
侦听都不开 怎么通。。。。。

VC端 仅仅是写了个开头。。。
IP PORT。。。。。。。
[解决办法]
首先确保VC的服务端是可用的,正确的;如果是正确的,查看C#编译是不是为unicode,如果是,改成非unicode
[解决办法]

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

[解决办法]
这些完全可以让C++来实现,提供给你接口调用就行了,C#最好不要用自己的socket与C++相连,
[解决办法]
VC编译成DLL文件,在C#中调用
确保连接正确
[解决办法]
学习~UP
[解决办法]
学习一下,,SOCKET通信,俺也是刚学.
[解决办法]
Socket通信中都是字节流罢了,结构体也好,类也好,都是需要你自己去按照约定的应用层协议来解析的
[解决办法]
探讨
需要做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连接成功的实例给提供一下 那就更好了!
谢谢帮忙~


[解决办法]
ding...

读书人网 >C#

热点推荐