Scoket编程--TCP
来源:互联网 发布:数据的离散程度 编辑:程序博客网 时间:2024/06/06 02:06
以聊天为例,,,注意要开两个vs,开启多客户端,客户端.exe文件在右键–>文件管理器中打开文件夹下–>bin–>Debug–.exe文件
(我这里的工程目录是==》 H:\vs 2015\Socket\Scoket编程\001-Scoket_TCP客户端\bin\Debug)
服务端代码:
using System;using System.Net;using System.Net.Sockets;using System.Text;namespace Socket_TCP服务端{ class Program { static void Main(string[] args) { //1.创建服务端的Socket对象,(内网,流,协议) Socket SeverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //本机ip地址 IPAddress ipaddres = IPAddress.Parse("192.168.1.11"); //ipendpoint 是对Ip+端口做了一层封装类 EndPoint endpoint = new IPEndPoint(ipaddres,3355); //2,绑定IP地址和端口,,用来做通信 SeverSocket.Bind(endpoint); Console.WriteLine("服务端开始监听"); //3,监听,,等待客户端做连接(最大连接数) SeverSocket.Listen(100); //4,接收客户端连接,暂停当前线程直达有一个客户端连接后,进行下面的操作 Socket clientScoket = SeverSocket.Accept(); Console.WriteLine("有客户端接入"); //5,使用上面返回的Socket和客户端做通信 string message = "Czhenya 欢迎您连接"; //对字符串做编码,得到一个字符数组 byte[] data = Encoding.UTF8.GetBytes(message); clientScoket.Send(data); //向客户端消息 Console.WriteLine("向客户端发送一条数据:"+message); //创建数组,接收客户端发来的数据 byte[] tempdata = new byte[1024]; int length = clientScoket.Receive(tempdata); string tempmessage = Encoding.UTF8.GetString(tempdata,0,length); Console.WriteLine("接到客户端数据:"+tempmessage); Console.ReadKey(); } }}
客户端代码:
using System;using System.Net;using System.Net.Sockets;using System.Text;namespace _001_Scoket_TCP客户端{ class Program { static void Main(string[] args) { //1 创建Socket Socket tcpClient = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); //2 发起建立连接的请求,,,注意和客户端一致 IPAddress ipassress = IPAddress.Parse("192.168.1.11"); EndPoint point = new IPEndPoint(ipassress,3355); //通过ip端口号,定位一个连接到服务器 tcpClient.Connect(point); //接收并存放数据的数组 byte[] data = new byte[1024]; //返回表示接收到数据的长度 int length = tcpClient.Receive(data); //表示从0开始到length(接收到数据)做转换,, string message = Encoding.UTF8.GetString(data,0,length); Console.WriteLine(message); //用户输入,,向服务器端发送消息 string tempMessage = Console.ReadLine(); tcpClient.Send(Encoding.UTF8.GetBytes(tempMessage)); Console.ReadKey(); } }}
UDP:http://blog.csdn.net/czhenya/article/details/78296923
过程代码中注释的已经很清楚了,,不再赘述,看看运行结果图吧:
阅读全文
1 0
- Scoket编程--TCP
- scoket编程
- Scoket 编程
- Scoket编程
- Scoket编程
- 基于TCP/IP协议的Scoket JAVA编程
- java中网络编程Scoket类------TCP协议
- Scoket编程基础及tcp&udp的简介And区别
- TCP, Scoket, HTTP
- TCP, Scoket, HTTP
- Scoket:TCP通讯模型
- java scoket 编程实例
- Linux ScoKet编程
- C++ Scoket编程
- C++ Scoket编程
- VC++ Scoket编程小结
- 网络编程scoket
- 【Scoket编程】篇二
- java中Long类型和long类型的大小比较
- Codevs P3044矩形面积求并
- 去掉string里面的html标签
- HDU 1250 Hat's Fibonacci(高精度加法)
- 洛谷 1880 石子合并 DP
- Scoket编程--TCP
- DSP28035 cpu定时器及相关配置函数详解
- 基于nginx的中间件架构(3)安装目录介绍
- JavaScript基础入门
- Java代码执行Linux命令
- Vaadin教程
- angularjs 中state.go 跳转并且打开新的浏览器窗口
- ES6 Class 中的 super 关键字
- 共享js无刷新上传jquery插件