使用vs簡單實現socket網路通訊

2021-10-07 07:25:10 字數 3339 閱讀 4779

最近一直在學習.net,剛把winform基礎學習完,這次算是乙個學習小結,覺得這個socket的蠻有意思的,就認真自己就完成了一遍,能簡單的傳送訊息,傳送檔案。窗體控制項我就不一一說明了,下面直接上**
using system;

using system.collections;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.io;

using system.linq;

using system.net;

using system.net.sockets;

using system.text;

using system.threading;

using system.threading.tasks;

using system.windows.forms;

namespace _01sever

socket socketlisten;

private

void

buttonlisten_click

(object sender,

eventargs e)

void

showmessage

(string str)

socket socketsend;

//根據ip找socket

dictionary<

string

, socket> kv =

newdictionary

<

string

,socket

>()

;void

watch

(object o)

catch}}

///

/// 伺服器端不停的接收,客戶端發來的訊息

///

void

receive

(object o)

string str = encoding.utf8.

getstring

(buffer,

0, r)

;showmessage

(socketsend.remoteendpoint +

":"+ str);}

catch}}

private

void

form1_load

(object sender,

eventargs e)

///

/// 服務端傳送訊息給客戶端

///

///

///

private

void

buttonsendmessage_click

(object sender,

eventargs e)

///

/// 選擇要傳送的檔案

///

///

///

private

void

buttonoption_click

(object sender,

eventargs e)

///

/// 傳送檔案,首先建立檔案流讀取檔案,轉化為位元組,再使用負責通訊的socket的檔案

///

///

///

private

void

buttonsendfiles_click

(object sender,

eventargs e)

}private

void

buttonwong_click

(object sender,

eventargs e)

; kv[comboboxip.selecteditem.

tostring()

].send

(buffer);}

}}

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.io;

using system.linq;

using system.net;

using system.net.sockets;

using system.text;

using system.threading;

using system.threading.tasks;

using system.windows.forms;

namespace _02client

socket socketsend;

private

void

buttonconnect_click

(object sender,

eventargs e)

catch

}///

/// 連線成功後,不停的接收服務端傳送的訊息

///

void

receive

(object o)

if(buffer[0]

==0)else

if(buffer[0]

==1) messagebox.

show

("儲存成功");

}else

if(buffer[0]

==2)}

catch}}

private

voidzd(

int x ,

int y)

}void

showmessage

(string str)

///

/// 客戶端傳送資訊給服務端

///

///

///

private

void

buttonsendmsg_click

(object sender,

eventargs e)

private

void

form1_load

(object sender,

eventargs e)

}}

WPF使用socket實現簡單聊天軟體

公司網路限制不能傳檔案,先貼部分 控制項新增到介面就行,介面隨意布局 專案結構 1.解決方案 1.1.client 1.2.server client window x class csharpsocketexample.mainwindow xmlns xmlns x title mainwind...

php簡單實現socket通訊

socket通訊的原理在這裡就不說了,它的用途還是比較廣泛的,我們可以使用 socket 來做乙個 api介面出來,也可以使用 socket 來實現兩個程式之間的通訊,我們來研究一下在 php開發 中如何實現socket通訊。由於socket服務端的 要監聽埠,等待接收請求,所以 php在做 soc...

epoll實現簡單socket通訊

epoll是常用的socket通訊方式,相比於select和poll來說,效率提公升了不止一點半點 其一 select中socket描述符 檔案描述符 集的資料結構為陣列,poll的檔案描述符集資料結構為鍊錶,無論陣列還是鍊錶,它們都是線性結構,當遍歷時,也只能線性遍歷 而epoll檔案描述符集採用...