使用CSocket连接到服务器程序
connect to a server program using CSocket
我创建了这个简单的示例程序,但它不起作用。它无法连接。知道为什么吗?
#include <stdio.h>
#include <afxsock.h>
void main()
{
int lalala;
CSocket mySocket;
printf("%dn", mySocket.Create());
CString ipAddress = _T("127.0.0.1");
lalala = mySocket.Connect(ipAddress, 3015);
printf("%d", lalala);
getchar();
}
我已经有了一个监听端口3015 的程序
是否使用AfxSocketInit()初始化了套接字?如果在创建套接字之前没有调用它
Connect()需要两个参数地址和数据长度。地址是结构体sockaddr_in,它作为sockaddr传递给方法。数据的长度为sizeof(SOCKADDR)。
我不知道为什么互联网上的大多数例子都使用Connect(ipaddress,port)之类的东西,也许这是另一个SDK。
这为我连接:
if (AfxSocketInit() == FALSE) {
AfxMessageBox(_T("Failed to init sockets"));
return _T("");
}
CSocket socket;
if (!socket.Create()) {
AfxMessageBox(_T("Failed to create socket"));
return _T("");
}
SOCKADDR *sockaddr;
struct sockaddr_in remote_addr;
port = (u_short)(port);
// remote address
memset(&remote_addr, 0, sizeof(remote_addr));
remote_addr.sin_family = AF_INET;
remote_addr.sin_port = htons(port);
inet_pton(AF_INET, "127.0.0.1", (&remote_addr.sin_addr));
sockaddr = (SOCKADDR *)&(remote_addr);
if (!socket.Connect(sockaddr, sizeof(SOCKADDR))) {
AfxMessageBox(_T("Failed to connect to server, 127.0.0.1 9000"));
相关文章:
- 使用嵌入式猫鼬服务器托管应用程序
- 在 1 个服务器 n 客户端套接字 C++ MFC 应用程序中更新数据的客户端
- C++服务器程序循环打印
- UDP客户端/服务器程序在不同的IP和端口上通信超过2个插座
- 绑定 API 在服务器程序中究竟做了什么
- TCP 客户端服务器程序
- 如何避免在C 11服务器程序中为多个客户端使用多个线程
- 客户端无法连接到LAN中的服务器程序
- 套接字 TCP 服务器程序问题
- UDP客户端-服务器程序使用gcc而不是g++进行编译
- C ++中的简单客户端服务器程序不起作用
- Zeromq如何制作一个允许它不等待客户端请求的C ++服务器程序
- 使用CSocket连接到服务器程序
- 用C++编写服务器程序
- 在linux中使用命名管道的简单客户端/服务器程序
- 编写一个多TCP服务器程序
- 服务器程序处于无限循环中.如何检查它
- 在c++windows中进行客户端-服务器程序设计的多线程
- 对于客户端服务器程序,并行接收多个客户端连接请求的最佳方法是什么
- 如何在dev ++上运行客户端服务器程序