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