c#使用tcp协议实现数据发送和接受
使用tcp协议实现数据的发送和接受包括客户端和服务端两个部分;
1. 服务端代码如下所示:
using system;
using system.net;
using system.net.sockets;
using system.text;
class program
{
static void main()
{
// 设置服务器ip地址和端口号
ipaddress ip = ipaddress.parse("127.0.0.1");//写入实际的ip地址
int port = 8888;
// 创建tcp监听器
tcplistener listener = new tcplistener(ip, port);
listener.start();
console.writeline("等待客户端连接...");
// 接受客户端连接
tcpclient client = listener.accepttcpclient();
console.writeline("客户端已连接");
// 获取网络流
networkstream stream = client.getstream();
// 读取客户端发送的数据
byte[] buffer = new byte[1024];
int bytesread = stream.read(buffer, 0, buffer.length);
string datareceived = encoding.ascii.getstring(buffer, 0, bytesread);
console.writeline("接收到数据: " + datareceived);
// 向客户端发送数据
string datatosend = "hello, client!";
byte[] databytes = encoding.ascii.getbytes(datatosend);
stream.write(databytes, 0, databytes.length);
console.writeline("已发送数据: " + datatosend);
// 关闭连接
stream.close();
client.close();
listener.stop();
}
}2. 客户端代码:
using system;
using system.net.sockets;
using system.text;
class program
{
static void main()
{
// 设置服务器ip地址和端口号
string serverip = "127.0.0.1";
int serverport = 8888;
// 创建tcp客户端
tcpclient client = new tcpclient();
client.connect(serverip, serverport);
console.writeline("已连接到服务器");
// 获取网络流
networkstream stream = client.getstream();
// 向服务器发送数据
string datatosend = "hello, server!";
byte[] databytes = encoding.ascii.getbytes(datatosend);
stream.write(databytes, 0, databytes.length);
console.writeline("已发送数据: " + datatosend);
// 读取服务器发送的数据
byte[] buffer = new byte[1024];
int bytesread = stream.read(buffer, 0, buffer.length);
string datareceived = encoding.ascii.getstring(buffer, 0, bytesread);
console.writeline("接收到数据: " + datareceived);
// 关闭连接
stream.close();
client.close();
}
}总结:上述示例使用服务器端创建一个tcp监听器,等待客户端连接。当客户端连接后,服务器端从客户端接收数据,并向客户端发送数据。客户端则连接到服务器,向服务器发送数据,并接收服务器发送的数据。
到此这篇关于c#使用tcp协议实现数据发送和接受的文章就介绍到这了,更多相关c# tcp协议内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论