當前位置:編程學習大全網 - 編程語言 - 網絡編程問題!!

網絡編程問題!!

WSADATA WSAData;

//該函數在Winsocket中必須調用

if (WSAStartup(MAKEWORD(1,1),&WSAData) != 0)

{

cout<<"Call WSAStartup()失敗!\n"<<endl;

return;

}

沒看到妳的這個啊。

給妳個我的。

//////////////////////////////TCP server ///////////////////////

#include <assert.h>

#include <iostream.h>

#include <winsock.h>

#pragma comment(lib,"WSOCK32.lib")

//DWORD WINAPI ThreadProc(LPVOID lpParameter);

HANDLE hMutex;

void main()

{

WSADATA WSAData;

//該函數在Winsocket中必須調用

if (WSAStartup(MAKEWORD(1,1),&WSAData) != 0)

{

cout<<"Call WSAStartup()失敗!\n"<<endl;

return;

}

SOCKET ls=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); //以TCP 通信方式

SOCKADDR_IN local_sin;

local_sin.sin_family = AF_INET;

local_sin.sin_addr.S_un.S_addr = htonl(INADDR_ANY);// h主機 to 轉換 n 網絡字節數 l long類型

// htonl 大端排序函數 htons 小端排序

local_sin.sin_port = htons(INADDR_ANY); //PORT 端口

local_sin.sin_port=htons(5001);

bind(ls,(sockaddr *)&local_sin,sizeof(local_sin)); //綁定

listen(ls,2); //監聽,每次最大可以接受10個數據

SOCKADDR_IN client_sin;

int client_sin_len=sizeof(client_sin);

int count=0;

//、、、、、、、、、、、、、、、、、、、、

//線程

///////////////

//char buf[30]={0};

///////////////

//hMutex =::CreateMutex(NULL,FALSE,buf);

//HANDLE handle=CreateThread(NULL,0,ThreadProc,buf,NULL,0);

//、、、、、、、、、、、、、、、、、、、、

while(TRUE)

{

SOCKET cs=accept(ls,(sockaddr *)&client_sin,(int*)&client_sin_len); //接受信息

// cs相當於壹個連接

char buf[30]={0};

count++;

recv(cs,buf,sizeof(buf)-1,0);//讀取信息

cout<<count<<" 服務端 "<<buf<<endl;

//

char buf2[30]="server_send_hello";

send(cs,buf2,strlen(buf2),0);

::Sleep(8000);

}

return;

///////////////////// TCP client /////////////////////////////////

#include <assert.h>

#include <iostream.h>

#include <winsock.h>

#pragma comment(lib,"WSOCK32.lib")

int count=0;

void main()

{

WSADATA WSAData;

//該函數在Winsocket中必須調用

if (WSAStartup(MAKEWORD(1,1),&WSAData) != 0)

{

cout<<"Call WSAStartup()失敗!\n"<<endl;

return;

}

SOCKET s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); //以TCP 通信方式

SOCKADDR_IN dst_addr;

dst_addr.sin_port=htons(5001);

dst_addr.sin_addr.S_un.S_addr=inet_addr("192.168.3.33 ");

dst_addr.sin_family=PF_INET;

connect(s,(sockaddr *)&dst_addr,sizeof(dst_addr))==SOCKET_ERROR; //連接

char buf[30]="lince_send_hello";

send(s,buf,strlen(buf),0);

//

char buf2[33]={0};

recv(s,buf2,33,0);//讀取信息

count++;

cout<<count<<" 客戶端 "<<buf2<<endl;

closesocket(s);

WSACleanup();

}

  • 上一篇:求壹個用3B代碼編寫的電火花線切割圖案,要漂亮些的。
  • 下一篇:sw如何在轉配體裏面畫槽輪?在SolIDWorks裝配體裏畫的槽輪機構!
  • copyright 2024編程學習大全網