C# TCP Server和TCP Client:间多次的数据发送和接收
首先是sever端口
-
using System;
-
using System.Text;
-
using System.Net;
-
using System.Net.Sockets;
-
-
namespace _301
-
{
-
class Program
-
{
-
private static byte[] result = new Byte[1024];
-
private static int myport = 8012;
-
static Socket serverSocket;
-
static void Main(string[] args)
-
{
-
IPAddress ip = IPAddress.Parse("127.0.0.1");//服务器的IP
-
serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
-
serverSocket.Bind(new IPEndPoint(ip, myport));
-
serverSocket.Listen(10);
-
Console.WriteLine("启动监听{0}", serverSocket.LocalEndPoint.ToString());
-
string sendMessage = "007007";
-
Socket clientsocket = serverSocket.Accept();
-
string s_result = null;
-
while (s_result!="exit")
-
{
-
clientsocket.Send(Encoding.ASCII.GetBytes(sendMessage));
-
Console.WriteLine("向客户端发消息{0}", sendMessage);
-
int receiveNumber = clientsocket.Receive(result);
-
Console.WriteLine("接受客户端{0}消息{1}", clientsocket.RemoteEndPoint.ToString(), Encoding.ASCII.GetString(result, 0, receiveNumber));
-
s_result=Encoding.ASCII.GetString(result,0,receiveNumber);
-
}
-
-
clientsocket.Shutdown(SocketShutdown.Both);
-
clientsocket.Close();
-
Console.ReadLine();
-
-
-
-
-
}
-
}
-
}
#############################################################################
然后是CLIENT端口
-
using System;
-
using System.Collections.Generic;
-
using System.Linq;
-
using System.Text;
-
using System.Net.Sockets;
-
using System.Net;
-
-
namespace TCP1
-
{
-
class Program
-
{
-
private static byte[] result = new Byte[1024];
-
static void Main(string[] args)
-
{//创建套接字
-
IPAddress ip = IPAddress.Parse("127.0.0.1");
-
Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
-
//2.连接
-
try
-
{
-
clientSocket.Connect(new IPEndPoint(ip, 8012));
-
Console.WriteLine("连接服务器成功!");
-
}
-
catch
-
{
-
Console.WriteLine("连接服务器失败,请按回车键退出");
-
return;
-
}
-
//3.收发数据
-
string s_result = null;
-
while (s_result != "exit")
-
{
-
int receiveLength = clientSocket.Receive(result);
-
Console.WriteLine("接收服务器消息:{0}", Encoding.ASCII.GetString(result, 0, receiveLength));
-
string sendMessage = "client send Message Hello";
-
clientSocket.Send(Encoding.ASCII.GetBytes(sendMessage));
-
Console.WriteLine("向服务器发送消息:{0}", sendMessage);
-
//4.释放连接
-
}
-
clientSocket.Shutdown(SocketShutdown.Both);
-
//关闭套接字
-
clientSocket.Close();
-
Console.ReadLine();
-
Console.ReadKey();
-
-
}
-
}
-
}
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfkbfb
系列文章
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01