RT!
解决方案 »
- 非常简单问题
- 如何位移auxWireBox 这些函数了
- 假如你是看门的,你想把从你面前一分钟内走过的人中随机抽出%5问讯,应该怎样实现?
- 怎么样在对话框上动态生成一个按钮,同时怎样添加它的单击响应?
- VC行情淡了。。
- 求教:如何从Excel2003中读出数据?请高手指点!谢先!!
- 我用钩子钩住了所有static控件并把他们子类化,但是退出程序时怎麽恢复他们呀?请看代码
- 用BoundsCheck的问题
- 求《Windows核心编程》的源代码!Email:[email protected]
- 谁有 ActiveSkin 的注册版?
- 怎样获得窗口的名柄,类型是HWND,不是Handle。
- 哪位大侠有能计算 加减乘除 的程序啊......
#include <winsock2.h>
int main(int argc, char* argv[])
{
int errCode;
struct sockaddr_in myAddr;
SOCKET mySocket;
//检测Socket环境
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0),(LPWSADATA)&WSAData);
//以TCP/IP的模式启动一个Socket
mySocket = socket(AF_INET,SOCK_STREAM,0);
//设定通信地址
myAddr.sin_family = AF_INET;
myAddr.sin_addr.S_un.S_addr = inet_addr("61.135.150.215");
myAddr.sin_port = htons(atoi("80"));
//连接服务器
errCode = connect(mySocket,(struct sockaddr *)&myAddr,sizeof(myAddr));
if(errCode==SOCKET_ERROR)
{
printf("无法连接到 61.135.150.215!\n");
}
else
{
printf("连接到 61.135.150.215 OK!\n");
}
closesocket(mySocket);
}
* Window socket server
* Copyright C 2004 Notoldtree Author:LIJIUN
*
* Add Ws2_32.lib to project
* EMail:[email protected] Date:2004/11/6
******************************************************************/#include <stdio.h>
#include <Winsock2.h>#define PORT 8088
#define MAX_BUFFER 1024int main()
{
char buff[MAX_BUFFER];
WSADATA wsdata; if(WSAStartup(MAKEWORD(2,0),&wsdata))
{
printf("WSAStartup() failed with error:%d\n",WSAGetLastError());
return 0;
} char szName[256];
if(gethostname(szName,256))
{
printf("gethostname() failed with error:%d\n",WSAGetLastError());
return 0;
} printf("Winsock Edition:%s\n",wsdata.szDescription);
printf("Host Name:%s\n",szName); SOCKET s = socket(AF_INET,SOCK_STREAM,0);
if(s == INVALID_SOCKET)
{
printf("socket() failed with error:%d\n",WSAGetLastError());
return 0;
} SOCKADDR_IN addr;
memset(&addr,0,sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(PORT);
addr.sin_addr.s_addr = htonl(INADDR_ANY);
/*
hostent ent = *gethostbyname(szName);
addr.sin_addr.S_un.S_un_b.s_b1 = ent.h_addr_list[0][0];
addr.sin_addr.S_un.S_un_b.s_b2 = ent.h_addr_list[0][1];
addr.sin_addr.S_un.S_un_b.s_b3 = ent.h_addr_list[0][2];
addr.sin_addr.S_un.S_un_b.s_b4 = ent.h_addr_list[0][3];
*/
if(bind(s,(sockaddr*)&addr,sizeof(addr)))
{
printf("bind() failed with error:%d\n",WSAGetLastError());
return 0;
}
if(listen(s,5))
{
printf("listen() failed with error:%d\n",WSAGetLastError());
return 0;
} printf("Begin to listen...\n"); SOCKADDR_IN ClientAddr;
int addr_length = sizeof(ClientAddr);
SOCKET recv_s = accept(s,(SOCKADDR*)&ClientAddr,&addr_length);
// Get client address
LPCTSTR lpIP = inet_ntoa(ClientAddr.sin_addr);
printf("Client Address[%s]\n",lpIP); while(1)
{
char out_buff[MAX_BUFFER];
int len = recv(recv_s,buff,sizeof(buff),0);
if(len <= 0)
{
printf("Client already cut connection!\n");
return 0;
}
memcpy(out_buff,buff,len);
out_buff[len] = '\0';
printf("%s\n",out_buff);
if(strcmp(out_buff,"exit") == 0)
{
closesocket(s);
WSACleanup();
exit(0);
}
}
}
* Window socket Client
* Copyright C 2004 Notoldtree Author:LIJIUN
*
* Add Ws2_32.lib to project
* EMail:[email protected] Date:2004/11/6
******************************************************************/
#include <stdio.h>
#include <Winsock2.h>#define PORT 8088
#define MAX_BUFFER 1024void OutErrorMessage();
int main()
{ char buff[MAX_BUFFER];
WORD version = MAKEWORD(2,0);
WSADATA wsadata;
if(WSAStartup(version,&wsadata))
{
OutErrorMessage();
return 0;
}
SOCKET sock = socket(AF_INET,SOCK_STREAM,0);
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(PORT);
addr.sin_addr.S_un.S_addr = inet_addr("192.168.0.125");
if(connect(sock,(sockaddr*)&addr,sizeof(addr)))
{
printf("Find not server!\n");
return 0;
} while(1)
{
// Input char string
printf("Send:");
scanf("%s",buff);
// Begin send char string
if(send(sock,buff,strlen(buff),0) <= 0)
{
OutErrorMessage();
return 0;
}
if (strcmp(buff,"exit") == 0)
{
WSACleanup();
closesocket(sock);
exit(0);
}
}
}void OutErrorMessage()
{
int code = WSAGetLastError();
printf("%d\n",WSAECONNREFUSED);
printf("Error:%d\n",code);
}