C 網路程式設計之Tcp實現客戶端和伺服器聊天

2021-06-16 19:44:54 字數 2015 閱讀 2780

1.tcplistener:基於tcp協議服務端開發,監聽ip位址和埠號是否連線。

該類常用的方法有start()開始監聽、acceptsocket()返回套接字接受連線請求、accepttcpclient()返回客戶物件接受連線請求、stop()停止監聽

2.tcpclient:基於tcp協議客戶端程式設計,提供客戶端連線,通過網路連線傳送接受資料。

該類常用的方法有connect()與伺服器主機連線、getstream()用來獲得答應的資料流、close()關閉連線

3.networkstream:用於獲取和操作網路流,該程式中還是用寫入流和讀取流物件實現寫入和讀取資料的操作。

該類常用的方法有read()從網路流中讀取資料、write()從網路流中寫資料。

下面是這個例子的源**:(該**是根據自己所學及《c#範例開發大全》中乙個例子改變而來通過兩個控制台程式實現通話)

1.服務端**(tcpserver)

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

//新增新的命名空間

using system.net;

using system.net.sockets;

using system.io; //流streamreader

namespace tcpserver

client.close(); //關閉客戶端}}

}

2.客戶端**(tcpclient)

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

//新增新的命名空間

using system.net;

using system.net.sockets;

using system.io; //流streamreader

namespace tcpclient

client.close();

console.read();}}

}

3.程式演示

先執行伺服器(tcpserver)**,它會顯示「等候乙個連線...」.再執行客戶端(tcpclient)**,執行後此時服務端顯示"客戶端已連線...",客戶端顯示"伺服器已連線...請輸入對話內容".然後依次在客戶端和伺服器中個輸入聊天內容,在另一方會顯示相應傳輸過來的內容,實現tcp聊天通話。下面是在客戶端輸入"你好!我是客戶端."的反應。

更多的通話內容如下所示:

最後感謝劉麗霞的《c#範例開發大全》和週存傑的《c#網路程式設計例項教程》兩本書,上面的知識點和**都是借鑑了他們前人的知識,希望大家也看看這兩本比較好的c#書。

(by:eastmount 2013-7-20

MFC網路程式設計之 TCP客戶端

平台 windows10企業版,vs2013 1.工程建立,基於對話方塊,新增windows socket 支援 2.新增通訊socket類,繼承於csockets 3.建立socket,m sock.create 4.與處於監聽狀態的伺服器進行連線 m sock.connect t 127.0.0...

網路程式設計之TCP客戶端開發和TCP服務端開發

建立客戶端套接字物件 和服務端套接字建立連線 傳送資料 接收資料 關閉客戶端套接字 import socket if name main 建立tcp客戶端套接字 1.af inet 表示ipv4 2.sock stream tcp傳輸協議 tcp client socket socket.socke...

python網路程式設計之TCP客戶端開發

1.匯入套接字模組 import socket if name main 2.建立套接字 af init ipv4 sock stream tcp tcp client socket socket.socket socket.af inet,socket.sock stream 3.建立連線 tcp...