最近使用Socket网络套接字编程中,在同步与异步通讯中客户端与服务器总是无法响应,但在学习Tcp协议编程中完成了通讯聊天功能,下面简单讲讲我最近学到的及Tcp聊天的源代码及详细注释。
Tcp协议是一个传输层的协议,在Tcp协议编程中它通常使用的是3个类,其命名空间为System.Net.Sockets:
1.TcpListener:基于TCP协议服务端开发,监听IP地址和端口号是否连接。
该类常用的方法有Start()开始监听、AcceptSocket()返回套接字接受连接请求、AcceptTcpClient()返回客户对象接受连接请求、Stop()停止监听
2.TcpClient:基于TCP协议客户端编程,提供客户端连接,通过网络连接发送接受数据。
该类常用的方法有Connect()与服务器主机连接、GetStream()用来获得答应的数据流、Close()关闭连接
3.NetWorkStream:用于获取和操作网络流,该程序中还是用写入流和读取流对象实现写入和读取数据的操作。
该类常用的方法有Read()从网络流中读取数据、Write()从网络流中写数据。
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
{
class Program
{
static void Main(string[] args)
{
//Parse将字符串转换为IP地址类型
IPAddress myIP = IPAddress.Parse("127.0.0.1"