#include <iostream>
#include <WinSock2.h>using namespace std;
#pragma comment(lib,"ws2_32.lib")int main()
{
//SOCKET myServer;
char ipAddress[100] ="172.16.1.16" ;
int iSockNumServer = 0;
struct sockaddr_in server;
int temp = 0; //////////////////////////////////////////////////////////////////////////111111111111111
int nErr;
unsigned short ver;
WSADATA data;//这个结构被用来存储 被WSAStartup函数调用后返回的 Windows Sockets 数据。它包含Winsock.dll 执行的数据。
ver = MAKEWORD( 2, 0); //这个宏创建一个被指定变量连接而成的WORD变量。返回一个WORD变量。
nErr = WSAStartup( ver, &data );//为了在应用程序当中调用任何一个Winsock API函数,首先第一件事情就是必须通过WSAStartup函数完成对Winsock服务的初始化
// 异步套接字的启动命令。
cout << "nErr : " << nErr << endl; //////////////////////////////////////////////////////////////////////////222222222222222
iSockNumServer = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
cout << "iSocketNumServer: " << iSockNumServer << endl; memset(&server,0,sizeof(struct sockaddr_in));
server.sin_family = AF_INET;
server.sin_addr.s_addr = inet_addr("172.16.1.16");
server.sin_port = htons(80); //////////////////////////////////////////////////////////////////////////333333333333333
temp = connect(iSockNumServer, (struct sockaddr*)&server, sizeof(struct sockaddr_in));
cout << temp << endl; return 0; //connect(iSockNumServer,"172.16.1.16",strlen("172.16.1.16"));
}
IP是我自己的IP 但是connect一直返回-1. 求帮助
解决方案 »
- 为什么输入法选择框有时会显示不出来?
- 用vc如何将xml文件中的数据导入mysql数据库中
- WTL能否用于ATL做COM组件的界面?需要注意什么?
- 对话框弹出的问题:debug版本有问题,而release版本没问题.
- 关于LNK2019,请大家把把脉
- RadioButton 怎么不可以加变量啊?如何控制他
- cimagelist 的一个小问题! 关于断言错误!
- 寻找用工具条做的颜色选择器
- 请问SQL命令的SELECT命令的WHERE子命令怎么样检索出日期时间的字段?
- 一套医院管理软件(中小医院用)自主开发,欲转让程序,源码,代理,合作等等?
- 关于菜单变灰色的问题
- IOCP不使用AcceptEx接收数据,怎么搞?
服务器和客户端的端口号改成4000试试
#include <WinSock2.h>using namespace std;
#pragma comment(lib,"ws2_32.lib")int main()
{
//SOCKET myServer;
char ipAddress[100] ="172.16.1.16" ;
int iSockNumServer = 0;
struct sockaddr_in server;
int temp = 0;
//////////////////////////////////////////////////////////////////////////111111111111111
int nErr;
unsigned short ver;
WSADATA data;//这个结构被用来存储 被WSAStartup函数调用后返回的 Windows Sockets 数据。它包含Winsock.dll 执行的数据。
ver = MAKEWORD( 2, 0); //这个宏创建一个被指定变量连接而成的WORD变量。返回一个WORD变量。
nErr = WSAStartup( ver, &data );//为了在应用程序当中调用任何一个Winsock API函数,首先第一件事情就是必须通过WSAStartup函数完成对Winsock服务的初始化
// 异步套接字的启动命令。
if ( nErr != 0 )
cout << "nErr : " << nErr <<"Error Code :"<<WSAGetLastError()<< endl;
//////////////////////////////////////////////////////////////////////////222222222222222
iSockNumServer = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if ( INVALID_SOCKET == iSockNumServer )
cout << "iSocketNumServer: " << iSockNumServer <<"Error Code :"<<WSAGetLastError()<< endl;
memset(&server,0,sizeof(struct sockaddr_in));
server.sin_family = AF_INET;
server.sin_addr.s_addr = inet_addr("172.16.1.16");
server.sin_port = htons(80);
//////////////////////////////////////////////////////////////////////////333333333333333
temp = connect(iSockNumServer, (struct sockaddr*)&server, sizeof(struct sockaddr_in));
if ( SOCKET_ERROR == temp )
cout << temp <<" Error Code :"<<WSAGetLastError()<< endl;
WSACleanup();
return 0;
//connect(iSockNumServer,"172.16.1.16",strlen("172.16.1.16"));
}
2,檢查服務器的應用是不是在運行中。
3,檢查服務器的監聽端口。
4,如果此問題出現在負載測試中,可能是服務器的socket隊列不足了,要解決的話嘗試如下:
A:修改服務器的應用以處理更多的requests.
B:手工輸入如下的相似代碼:
while (create_socket(“socket″, “TCP”, “RemoteHost=LDNTAS42:671″, LrsLastArg) == 10061) ;