socket编程问题 服务器是VC的,客户端是C#的。连接问题 求帮忙!!
服务端 部分代码:
……
sockaddr_in myaddr, cli_addr;
int cliaddrLen = 0;
HANDLE Hnd;
DWORD dwThreadID;
myaddr.sin_addr.S_un.S_addr = inet_addr("172.16.42.224");
myaddr.sin_family = AF_INET;
myaddr.sin_port = htons(82);
if((ServerSock = socket(AF_INET, SOCK_STREAM, IPPROTO_IP)) == INVALID_SOCKET)
{
AfxMessageBox("WSASocket");
return;
}
if(0 != bind(ServerSock, (SOCKADDR *)&myaddr, sizeof(SOCKADDR)))
{
closesocket(ServerSock);
AfxMessageBox("bind");
return;
}
if(listen(ServerSock,10) != 0)
{
AfxMessageBox("´íÎ󣡷¢ÉúÔÚlisten");
return ;
}
cliaddrLen = sizeof(SOCKADDR);
ClientSock = accept(ServerSock, (SOCKADDR *)&cli_addr, &cliaddrLen);
……
一直在这等待。
客户端 部分代码:
…… //socket连接服务端与客户端
public void Connect()
{
try
{
//建立连接socket
connectSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//获取IP地址,创建网络端点
IPAddress ipHostInfo = IPAddress.Parse("172.16.42.224");
//网络端点
IPEndPoint ipendpoint = new IPEndPoint(ipHostInfo, 82);
connectSocket.BeginConnect(ipendpoint,
new AsyncCallback(ConnectCallback),
connectSocket);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}
private void ConnectCallback(IAsyncResult ar)
{
//从传递的状态中获取套接字,创建一个客户端套接字
Socket client = (Socket)ar.AsyncState;
//完成挂起的连接操作
client.EndConnect(ar);
//连接服务器成功
}
……
客户端能一直运行下去,就是服务端没接收。
求帮忙啊,先谢谢了。