示例程式是同步套接字程式,功能很簡單,只是客戶端發給伺服器一條資訊,伺服器向客戶端返回一條資訊;這裡只是乙個簡單的示例,是乙個最基本的socket程式設計流程,在接下來的文章中,會依次記錄套接字的同步和非同步,以及它們的區別。
下面是示例程式的簡單步驟說明
伺服器端:
第一步:用指定的埠號和伺服器的ip建立乙個endpoint對像;
第二步:建立乙個socket對像;
第三步:用socket對像的bind()方法繫結endpoint;
第四步:用socket對像的listen()方法開始監聽;
第五步:接受到客戶端的連線,用socket對像的accept()方法建立新的socket對像用於和請求的客戶端進行通訊;
第六步:通訊結束後一定記得關閉socket;
1using
system;23
using
system.collections.generic;45
using
system.text;67
using
system.net;89
using
system.net.sockets;
1011
namespace
server
1213
", recvstr);
//把客戶端傳來的資訊顯示出來
6263
string
sendstr ="
ok!client send message successful!";
6465
byte
bs =encoding.ascii.getbytes(sendstr);
6667
temp.send(bs, bs.length, 0);
//返回資訊給客戶端
6869
temp.close();
7071
s.close();
7273
console.readline();
7475}76
777879}
8081}82
83 server結果:
客戶端:
第一步:用指定的埠號和伺服器的ip建立乙個endpoint對像;
第二步:建立乙個socket對像;
第三步:用socket對像的connect()方法以上面建立的endpoint對像做為引數,向伺服器發出連線請求;
第四步:如果連線成功,就用socket對像的send()方法向伺服器傳送資訊;
第五步:用socket對像的receive()方法接受伺服器發來的資訊 ;
第六步:通訊結束後一定記得關閉socket;
1using
system;23
using
system.collections.generic;45
using
system.text;67
using
system.net;89
using
system.net.sockets;
1011
namespace
client
1213
", recvstr);
//顯示伺服器返回資訊
7071
/**/
///一定記著用完socket後要關閉
7273
c.close();
7475}76
77catch
(argumentnullexception e)
7879
", e);
8283}84
85catch
(socketexception e)
8687
", e);
9091}92
93console.writeline(
"press enter to exit");
9495}96
97}9899
}100
101
client端結果:
C 使用引用來傳遞對像
例項1 include using namespace std class a a a a void set int i int get const private int x 用const定義乙個不能修改的指標並返回one值 a func a one int main a a a void set...
面向對像的原則
你不必嚴格遵守這些原則,違背它們也不會被處以宗教刑罰。但你應當把這些原則看成警鈴,若違背了其中的一條,那麼警鈴就會響起。arthur j.riel 1 所有資料都應該隱藏在所在的類的內部。2 類的使用者必須依賴類的共有介面,但類不能依賴它的使用者。3 儘量減少類的協議中的訊息。4 實現所有類都理解的...
Scala語言的面向對像
把資料及對資料的操作方法放在一起,作為乙個相互依存的整體 物件 物件導向的三大特徵 簡單類和無參方法 class counter 無參方法 def current value 注意沒有class前面沒有public關鍵字修飾。代表學生資訊 快捷鍵 alt insert 可以看見 重寫函式 代表學生資...