C#学习笔记-socket通信(同步,客户端+服务器,TCP)
2016-04-14 18:07
696 查看
1,客户端(同步+TCP)
同步:程序会阻塞,等待网络通信的信息。
1-1,客服端(法1-Socket)
注:
地址族(AddressFamily枚举),Socket 用来解析地址的寻址方案
套接字类型(SocketType枚举)
协议类型(ProtocolType枚举),TCP/UDP等
1-1,客服端(法2-TcpClient)
2,服务器(同步+TCP)
2-1,服务器(法1-Socket)
2-1,服务器(法2-TcpListener )
同步:程序会阻塞,等待网络通信的信息。
1-1,客服端(法1-Socket)
Socket socketClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//初始化套接字 socketClient .Connect("192.168.0.3", 8888);//连接服务器 byte[] byArr = new byte[1024]; ........ Array.Clear(byArr, 0, byArr.Length);//清除数据 socketClient .Send(Encoding.ASCII.GetBytes("ClientConnect"));//发送数据 socketClient .Receive(byArr);//接收数据 sRecv = Encoding.ASCII.GetString(byArr);
注:
地址族(AddressFamily枚举),Socket 用来解析地址的寻址方案
套接字类型(SocketType枚举)
协议类型(ProtocolType枚举),TCP/UDP等
1-1,客服端(法2-TcpClient)
TcpClient tcpClient = new TcpClient(); tcpClient.Client.Connect("192.168.0.3", 8888); byte[] byArr = new byte[1024]; ........ Array.Clear(byArr, 0, byArr.Length);//清除数据 tcpClient.Send(Encoding.ASCII.GetBytes("ClientConnect"));//发送数据 tcpClient.Receive(byArr);//接收数据 sRecv = Encoding.ASCII.GetString(byArr);
2,服务器(同步+TCP)
2-1,服务器(法1-Socket)
IPEndPoint serverIP=new IPEndPoint(IPAddress.Any,8888); Socket socketServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socketServer.Bind(serverIP);//绑定IP地址 socketServer.Listen(50);//监听端口 byte[] byArr = new byte[1024]; ...... Socket socketClient = socketServer.Accept();//等待外部客户端连接 socketClient .Send(Encoding.ASCII.GetBytes("ConnectOK"));//发送数据 socketClient .Receive(byArr);//接收数据 sRecv = Encoding.ASCII.GetString(byArr);
2-1,服务器(法2-TcpListener )
TcpListener tcpListener = new TcpListener(8888); tcpListener.Start(); byte[] byArr = new byte[1024]; ...... Socket tcpClient= tcpListener.AcceptSocket(); tcpClient.Send(Encoding.ASCII.GetBytes("ConnectOK"));//发送数据 tcpClient.Receive(byArr);//接收数据 sRecv = Encoding.ASCII.GetString(byArr);
相关文章推荐
- java-模拟tomcat服务器
- Linux socket 初步
- c#调用COM组件
- java socket 注意的地方
- java socket 注意的地方
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#实现给图片加水印的方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#中的delegate委托类型基本学习教程
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- 举例讲解C#中自动实现的属性
- C#中this的用法集锦
- C#数据结构之顺序表(SeqList)实例详解
- C#.NET获取拨号连接的宽带连接方法