簡單的網路程式設計列子,伺服器端

2021-04-01 16:13:37 字數 1883 閱讀 5567

///

// tcpserver.h檔案

#include // 10tcpserver 

#include

#include

// 告訴聯結器與ws2_32庫連線

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

#define max_socket 56 // 定義此伺服器所能接受的最大客戶量

class cmaindialog : public cdialog;/

// tcpserver.cpp檔案

#include "tcpclient.h"

#include "resource.h"

// 定義網路事件通知訊息

#define wm_socket wm_user + 1 

cmaindialog::cmaindialog(cwnd* pparentwnd):cdialog(idd_maindialog, pparentwnd)

begin_message_map(cmaindialog, cdialog)

on_bn_clicked(idc_start, onstart)

on_bn_clicked(idc_clear, onclear)

on_message(wm_socket, onsocket)

end_message_map()

void cmaindialog::onstart()

// 建立監聽套節字,使它進入監聽狀態

if(!createandlisten(nport))

// 設定相關子視窗控制項狀態

getdlgitem(idc_start)->setwindowtext("停止服務");

m_bar.settext(" 正在監聽……", 0, 0);

getdlgitem(idc_port)->enablewindow(false);

}else    // 停止服務

}void cmaindialog::oncancel()

void cmaindialog::onclear()

long cmaindialog::onsocket(wparam wparam, lparam lparam)

// 處理發生的事件

switch(wsagetselectevent(lparam))

else

}break;

case fd_close:  // 檢測到套接字對應的連線被關閉。

break;

case fd_read:  // 套接字接受到對方傳送過來的資料報

;::recv(s, sztext, 1024, 0);

// 顯示給使用者

cstring stritem = cstring(szhostname) + "["+ speerip+ "]: " + cstring(sztext);

m_listinfo.insertstring(0, stritem);

}break;

}return 0;

}bool cmaindialog::createandlisten(int nport)

// 設定socket為視窗通知訊息型別

::wsaasyncselect(m_socket, m_hwnd, wm_socket, fd_accept|fd_close);

// 進入監聽模式

::listen(m_socket, 5);

return true;

}bool cmaindialog::addclient(socket s)

return false;

}void cmaindialog::removeclient(socket s)

// 關閉所有客戶的連線

for(int i=0; i

網路程式設計 簡單的伺服器端和客戶端

今天入門了一下使用socket進行網路程式設計,客戶端向伺服器端傳送字串,伺服器端直接返回接收資訊,客戶端再次讀取,就這麼簡單,感覺實在是太有意思了!首先我使用自己的阿里雲linux執行伺服器端程式,自己的機器執行客戶端程式,竟實現了資訊的互動!首先使用telnet看是否可以跟伺服器端建立連線 te...

網路字典伺服器端

include include include include include include include include include include include define n 256 define r 1 user register define l 2 user login de...

Linux網路程式設計 伺服器端基本框架

伺服器 話機 socket 繫結 bind 多路 listen 等待 accept 接通 新socket 總機等別的 分機跟客戶通訊 通訊 write read 結束通話分機 close include include include include include include include ...