#include <winsock.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <windows.h>
#define PORT 100
#define socklen_t int
#pragma comment(lib, "wsock32.lib")
SOCKET client;
char server[50];
void ClientThread()
{
char message[256];
while(1)
{
strcpy(message,"");
int len=recv(client,message,sizeof(message),0);
if (strcmp(message,"")!=0)
{
cout<<"从"<<server<<"得到消息:\n";
//cout<<"len:"<<len<<endl;
message[len]='\0';
cout<<message;
}
}
}
int main()
{
char message[256];
sockaddr_in srv;
WSADATA wsadata;
WORD VersionRequested=MAKEWORD(1,1);
if (WSAStartup(VersionRequested,&wsadata))
{
cout<<"Wsadata start failed\n";
return -1;
}
client=socket(PF_INET,SOCK_STREAM,0);
if (client==INVALID_SOCKET)
{
cout<<"Socket create failed\n";
return -1;
}
srv.sin_family=PF_INET;
srv.sin_addr.s_addr=htonl(INADDR_ANY);
srv.sin_port=htons(PORT);
cout<<"请输入服务器IP:";
cin>>server;
srv.sin_addr.s_addr = inet_addr(server);
if (connect(client,(struct sockaddr *)&srv,sizeof(srv))==SOCKET_ERROR)
{
cout<<"无法连接服务器.\n";
WSACleanup();
return -1;
}
while(1)
{
DWORD thread;
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)(ClientThread),NULL,0,&thread);
while(fgets(message,strlen(message),stdin))
{
cout<<"发出消息:"<<message<<endl;
send(client,message,strlen(message),0);
}
}
closesocket(client);
WSACleanup();
}
正文
test2005-08-08 16:59:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/elva6401/3619.html
阅读(2794) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论