編者:李國帥
網路連線基本過程:就像檔案控制代碼和視窗一樣可以看成是乙個流介面,只要配置好介面物件屬性,連通操作流程或網路,直接向這個介面傳送和讀取位元組流就可以完成工作,具體位元組流是怎麼處理的,只是下一層協議需要處理的工作。
wsadata wsadata;
sockaddr_in local;
local.sin_addr.s_addr=inaddr_any;
int wsaret=wsastartup(0x101,&wsadata);
server=socket(af_inet,sock_stream,0);
if(bind(server,(sockaddr*)&local,sizeof(local))!=0)
if(listen(server,10)!=0)
socket client;
sockaddr_in from;
int fromlen=sizeof(from);
client=accept(server,(struct sockaddr*)&from,&fromlen);//使用另外乙個隨機埠與客戶端埠通訊
send(client,buff,strlen(buff),0);
n=recv(client,buff,512,0);
closesocket(client);
closesocket(server);
wsacleanup();
wsadata wsadata;
struct sockaddr_in sockaddr;
int wsaret=wsastartup(0x101,&wsadata);
socket clientsocket;
clientsocket=socket(af_inet,sock_stream,ipproto_tcp);
sockaddr.sin_addr.s_addr = inet_addr(servername);
sockaddr.sin_family=af_inet;
sockaddr.sin_port = htons((u_short)nhostport);
int r = connect(clientsocket, (sockaddr*)&sockaddr, sizeof(sockaddr));
send(clientsocket,buff,strlen(buff),0);
z=recv(clientsocket,buff,512,0);
closesocket(clientsocket);
wsacleanup();
ioctlsocket() 控制套介面的模式。
int pascal far ioctlsocket( socket s, long cmd, u_long far* argp);
s:乙個標識套介面的描述字。
cmd:對套介面s的操作命令。
argp:指向cmd命令所帶引數的指標。
u_long pascal far htonl( u_long hostlong);
hostlong:主機位元組順序表達的32位數。
注釋:本函式將乙個32位數從主機位元組順序轉換成網路位元組順序。
u_short pascal far htons( u_short hostshort);
hostshort:主機位元組順序表達的16位數。
注釋:本函式將乙個16位數從主機位元組順序轉換成網路位元組順序。
u_long pascal far ntohl( u_long netlong);
netlong:乙個以網路位元組順序表達的32位數。
注釋:本函式將乙個32位數由網路位元組順序轉換為主機位元組順序。
u_short pascal far ntohs( u_short netshort);
netshort:乙個以網路位元組順序表達的16位數。
注釋:本函式將乙個16位數由網路位元組順序轉換為主機位元組順序。
udp分為主動和被動,如果主動接收,recv要阻塞,直到接收到資料,被動的話使用select函式,使得進行指定時間的等待後不論有無資料均返回.
#include #include bool initwinsock();
void main()
/服務端接收/
char bufferserver[1024]="\0";
printf("waiting for message from others-------------\n");
if (recvfrom(socketserver,bufferserver,sizeof bufferserver,0,(struct sockaddr*)&from,&fromlen)!=socket_error)
//if (recv(socketserver, bufferserver, sizeof bufferserver , 0)!=socket_error)
//sleep(500);
} closesocket(socketclient);
closesocket(socketserver);
}bool initwinsock()
else }
return true;
}
簡述網路連線過程
先來簡單說一下,當我們輸入 也即是url或者說是網域名稱 時,瀏覽器先對www.baidu.com通過dns協議進行解析,查詢到對應的ip位址。然後使用http協議訪問web伺服器,通過交換機,路由器,進入網際網路中,根據對應的ip位址,找到所對應的伺服器,通過伺服器的防火牆,進入伺服器中,獲取對應...
Linux中修改檔案來設定網路連線
1,自動獲取ip的方法 自動獲取與4個檔案有關係 a etc sysconfig network scripts ifcfg eth0 zhangy localhost network scripts cat ifcfg eth0 marvell technology group ltd.88e80...
使用Vmware過程中,突然網路連線不上問題
第一次的解決方法 1 我一般過一段時間就會對虛擬機器進行拍快照備份 在使用過程中,如果沒有太大變化,恢復網路正常的快照一般是能解決問題的,但是要記得恢復快照之前要備份你已經修改過的所有東西,以防丟失檔案等 這種方法一點也不推薦,但是確實沒辦法還是可以用的。是由系統自帶網路管理器 networkman...