最近一直在學習.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檔案描述符集採用...