C 網路程式設計之SOCKET應用篇

2021-08-26 15:37:15 字數 3222 閱讀 5812

c++網路程式設計之socket應用篇

2023年06月22日

思想現代化的重要性

論程式設計的遞迴思想

談二叉樹的順序儲存與鏈式儲存結構。

關於圖的概念,鄰接矩陣的理解。

關於win7中top sites的立體感官。

關於系統的設計精髓的討論

:封裝思想,設計模式,stl泛型抽象結構化程式設計,以及哈夫曼樹最優二杈樹的實際應用。

dns 202.99.160.68

202.99.168.8

資料傳輸方案

oninitdialog()

wsaasyncselect(m_server,m_hwnd,cm_socketmessage,,fd_accept);

char hostname[max_path];

memset(hostname,0,max_path);

gethostname(hostname,max_path);

hostent* hostinfo;

hostinfo=gethostbyname(hostname);

cstring ip;

ip=inet_ntoa(*(in_addr*)hostinfo->h_addr_list[0]);

//繫結套接字

serveraddr.sin_port=htons(800);

serveraddr.sin_family=pf_inet;

serveraddr.sin_addr.s_un.s_addr=inet_addr(ip.getbuffer(0));

if(bind(m_server,(sockaddr*)&serveraddr,sizeof(serveraddr)!=0)

//監聽套接字

listen(m_servers,5);

return true;

};//處理連線按鈕的事件

void creconnectdlg::onconnect()

closesocket(m_client);

m_client=socket(af_inet,sock_stream,0);

sockeaddr_in addr;

addr.sin_family=af_inet;

addr.sin_port=htons(atof(port));

addr.sin_addr.s_un.s_addr=inet_addr(name);

if(connect(m_client,(sockaddr*)&addr,sizeof(serveraddr)==0)

else

}//處理斷開的單擊事件

void creconnectdlg::ondisconnect()///

#include "winsock2.h"

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

else if(nresponse==idcancle)

{}return false;

}//在初始化時建立套接字,並設定套接字埠

bool cmy001dlg::oninitdialog()

}seticon(m_hicon,true);

seticon(m_hicon,false);

//建立伺服器套接字

m_serversocket=socket(af_inet,sock_stream,0);

m_clientsocket=socket(af_inet,socket_stream,0);

if(m_serversocket==invalid_socket||m_clientsocket==innvalid_socket)

return true;

}wsaasyncselect(m_serversocket,m_hwnd,cm_socketmessage,fd_accept);

char hostname[max_path];

memset(hostname,0,max_path);

gethostname(hostname,max_path);

hostent* hostinfo;

hostinfo=gethostbyname(hostname);

cstring ip;

ip=inet_ntoa(*(in_addr*)hostinfo->h_addr_list[0]);

//繫結套接字

serveraddr.sin_port=htons(50);

serveraddr.sin_family=pf_inet;

serveraddr.sin_addr.s_un.s_addr=inet_addr(ip.getbuffer(0));

if(bind(m_serversocket,(sockaddr*)&serveraddr.sizeof(serveraddr)!=0)

//監聽套接字

listen(m_serversocket,5);

return true;

}//處理連線按鈕的單擊事件,連線伺服器,如果連線超時,將彈出對話方塊進行提示。

voidcmy001dlg::onconnect()

//設定非阻塞方式連線

unsigned logn flag=1;

ioctlsocket(m_clientsocket,fionbio,(unsigned long *)&flag);

sockaddr_in addr;

addr.sin_family=af_inet;

addr.sin_port=htons(atof(port));

addr.sin_addr.s_un.s_addr=inet_addr(name);

connect(m_clientsocket,(sockaddr*)&addr,sizeof(addr));

struct timeval timeout;

fd_set sets;

fd_zero(&sets);

fd_set(m_clientsocket,&sets);

timeout.tv_sec=1;//連線超時15秒

timeout.tv_usec=0;

int result-select(0,0,&sets,0,&timeout);

if(result<=0)

else

//設定阻塞方式連線

flag=0;

ioclsocket(m_clientsocket,fionbio,(unsigned long*)&flag);

}檔案傳輸方案

c 網路程式設計之socket

該函式接收三個引數。第乙個引數af指定位址族,對於tcp ip協議的套接字,它只能是af inet 也可寫成pf inet 第二個引數指定socket型別,對於1.1版本的socket,它只支援兩種型別的套接字,sock stream指定產生流式套接字,sock dgram產生資料報套接字。如果這個...

網路程式設計之socket

套接字 socket 是乙個抽象層,應用程式可以通過它傳送或接收資料,可對其進行像對檔案一樣的開啟 讀寫和關閉等操作。套接字允許應用程式將i o插入到網路中,並與網路中的其他應用程式進行通訊。網路套接字是ip位址與埠的組合。套接字起源於 20 世紀 70 年代加利福尼亞大學伯克利分校版本的 unix...

網路程式設計之socket

1,socket 通訊 服務端 import socket server socket.socket server.bind 127.0.0.1,8080 server.listen 5 conn,addr server.accept data conn.recv 1024 print data c...