正文

test2005-08-08 16:59:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/elva6401/3619.html

分享到:

#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(); }  

阅读(2888) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册