***********************************===c#網路通訊***********************************===
一:伺服器端程式 ( *****=10.17*****)
1.建立伺服器端socket
1)使用socket類 :
建立伺服器socket物件:
socket objs=new socket(引數);
使用ipendpoint類設定伺服器ip位址和埠號;或使用dns類
ipaddress serip=ipaddress.parse(ip位址);
或: ipaddress serip=dns.resolve(dns.gethostname()).addresslist[0];
ipendpoint objp=new ipendpoint(serip,埠號);
使用socket類的bind方法設定伺服器socket
objs.bind(objp); 引數為ip位址和埠號
使用socket類的listen方法開始監聽等待客戶端的鏈結請求
objs.listen(10); 10為最大客戶端鏈結數;
2)使用tcplistener類:
指定伺服器ip位址和埠號;
ipaddress serip=ipaddress.parse(ip位址);
或: ipaddress serip=dns.resolve(dns.gethostname()).addresslist[0];
tcplistener tcpl=new tcplistener(serip,埠號);
使用tcplistener類的strat()方法開始監聽等待客戶端的鏈結請求
tcpl.start();
2.接受客戶端的鏈結
1)使用socket類:
socket news=objs.accept();
accept()方法用來接受客戶端的鏈結請求,並建立新的socket物件,該物件將作為服務端和客戶端鏈結及資料傳輸的依據;
2)使用tcplistener類:
socket news=tcpl.acceptsocket();
acceptsocket()方法接受鏈結請求,並建立新的socket物件,該物件將作為服務端和客戶端鏈結及資料傳輸的依據;
或:tcpclient tcpc=tcpl.accepttcplclient();
accepttcplclient()方法接受鏈結請求,並建立新的socket物件,該物件將作為服務端和客戶端鏈結及資料傳輸的依據;
3.接受並傳送資訊
1)使用socket類:
send()方法:傳送資料到已鏈結的socket;
sendto()方法:傳送資料到特定ip;
receive()方法:從鏈結的socket接受資料;
receivefrom()方法:從特定的ip接受資料;
2)使用tcplistener類:
如果鏈結是acceptsocket()獲得,則可使用socket類的接收方法;
如果鏈結是accepttcplclient()獲得,則使用tcpclient類的getstream()方法取得服務端的輸入輸出流networkstream;
public networkstream getstream();
然後就可以使用該類的方法來處理資料的傳送和接受了;
read()方法;
readbyte()方法;
write();
writebyte();
close(); 關閉流
4.關閉鏈結
1)使用socket類:
close();
為避免鏈結在關閉前,仍在程序資料的操作,使用該方法暫停資料的傳送和接受操作
shutdown();
2)使用tcplistener類:
stop();
二:客戶端程式 ( *****=10.18*****)
1.建立客戶端socket
1) 使用socket類:
建立客戶端socket物件:
socket objc=new socket(引數);
使用ipendpoint類設定伺服器ip位址和埠號;或使用dns類
ipaddress serip=ipaddress.parse(ip位址);
或: ipaddress serip=dns.resolve(dns.gethostname()).addresslist[0];
ipendpoint objp=new ipendpoint(serip,埠號);
2)使用tcpclient類:
tcpclient tcpl=new tcpclient();
指定伺服器ip位址和埠號;
ipaddress serip=ipaddress.parse(ip位址);
或: ipaddress serip=dns.resolve(dns.gethostname()).addresslist[0];
ipendpoint tcpp=new ipendpoint(serip,埠號);
2.連線到伺服器
1) 使用socket類:
objc.connect(objp); 引數是ipendpoint類指定的伺服器的ip和偵聽埠號;
2)使用tcpclient類:
tcpl.connect(tcpp);
3.接受並傳送資訊
1)使用socket類:
send()方法:傳送資料到已鏈結的socket;
sendto()方法:傳送資料到特定ip;
receive()方法:從鏈結的socket接受資料;
receivefrom()方法:從特定的ip接受資料;
***********************************===c#收發郵件***********************************===
郵件協議:
**tp (****** mail transfer protocol) : 簡單郵件協議 用於傳送郵件
pop3 (post office protocol version 3) :郵局協議(第三版) 用於接收郵件
imap4 (internet mail access protocol 4): 用於接收郵件
C 網路通訊程式設計
1 wcf wcf是rpc的一套框架和機制 系列文章 我的wcf之旅 1 系列文章列表 2 其中的入門 建立乙個簡單的wcf程式 2 http通訊 1 http協議簡介 這裡有比較詳細的入門級介紹 這個除了基本的類外,還有網路抓取的框架,是收費的。此外,他還有關於這些原理還程式設計的諸多介紹文章,都...
C 與C C Socket網路通訊
c作為客戶端 傳送端 建立套接字 sersocket socket af inet,sock dgram,0 if sersocket invalid socket 繫結ip和埠 mysin.sin family af inet mysin.sin port htons cport mysin.si...
Winsock網路通訊
winsock網路通訊 這裡我希望和大家 一下winsock網上通訊的程式,由於網際網路的普及,越來越多的程式具有了在網上與其他程式通訊的功能.其實所有這些功能都建立在winsock介面之上,應用程式執行大多數網路通訊的基本物件稱為套介面或軟插口 socket 使用mfc winsocket類新增網...