1.TcpClient

using System;
using System.Text;
using System.Net.Sockets; namespace tcpclient
{
class tcpclient
{
static void Main(string[] args)
{
try
{
//建立客户端套接字
TcpClient tcpclnt = new TcpClient();
Console.WriteLine("正在连接服务器..."); //连接服务器
tcpclnt.Connect("127.0.0.1", ); //得到客户端的流
NetworkStream stm = tcpclnt.GetStream();
while (true)
{
Console.Write("客户端说:");
string str = Console.ReadLine();//输入说话内容
//发送字符串
System.Text.UTF8Encoding utf8 = new UTF8Encoding(); //可以处理中文
byte[] ba = utf8.GetBytes(str);
stm.Write(ba, , ba.Length); //接收从服务器返回的信息
byte[] bb = new byte[];
int k = stm.Read(bb, , );
//输出服务器端返回的信息
Console.WriteLine("服务器说:" + utf8.GetString(bb, , k));
}
tcpclnt.Close(); }
catch (Exception e)
{
Console.WriteLine("错误..." + e.StackTrace);
}
} }
}

2.TcpListener

using System;
using System.Text;
using System.Net.Sockets;
using System.Net; namespace tcpchater
{
class tcpserver
{
static void Main(string[] args)
{
try
{
//初始化监听,端口为8001
TcpListener myList = new TcpListener(IPAddress.Parse("127.0.0.1"), );
//开始监听服务器端口
myList.Start(); Console.WriteLine("启动服务器端,端口服务...");
Console.WriteLine("本地节点为:" + myList.LocalEndpoint);//LocalEndpoint属性 标识正用于侦听传入客户端连接请求的本地网络接口和端口号
Console.WriteLine("等待客户端连接..."); //等待处理接入连接请求
Socket s = myList.AcceptSocket(); //新建立的连接用套接字s表示
Console.WriteLine("客户端连接来自 " + s.RemoteEndPoint + " 已上线.");
while (true)
{
System.Text.UTF8Encoding utf8 = new UTF8Encoding(); //可以处理中文
//接收客户信息
byte[] b = new byte[];
int k = s.Receive(b);
Console.Write("客户端说:" + utf8.GetString(b, , k));
Console.WriteLine(); Console.Write("服务器端说:");
//处理客户端请求,给客户端回应
string str = Console.ReadLine();
s.Send(utf8.GetBytes(str));
}
//释放资源,结束监听
s.Close();
myList.Stop(); }
catch (Exception e)
{
Console.WriteLine("错误..." + e.StackTrace);
}
}
}
}

最新文章

  1. C# - 集合类 - 集合接口
  2. Java集合类总结
  3. Solr4.8.0源码分析(8)之Lucene的索引文件(1)
  4. Codeforces 328A-IQ Test(数列)
  5. Android TextView文字描边的实现!!
  6. js 上下切换图片
  7. 基于Excel参数化你的Selenium2测试代码
  8. Netty ByteBuf源码分析
  9. (转)Memcached 在windows下的java使用
  10. MSSQL 自定义函数详解
  11. python之 json里字典中的value去重
  12. 【转载】详解一条sql语句的执行过程
  13. 【winform】userControl刷新父窗体的datagridview
  14. Arch Linux中使用VMware Workstation不能打开vmmon内核模块
  15. Loj 【CQOI 2006】简单题,mmp
  16. Wxpython零基础制作计算器
  17. skflow 分类与回归接口API 简单测试
  18. CentOS7上搭建LDAP-PDC并且将windows 2008 R2加入LDAP-PDC域
  19. Linux上vi编辑文件非正常退出后文件恢复
  20. HDU 4135:Co-prime(容斥+二进制拆分)

热门文章

  1. ionic3 引入第三方库(jquery)
  2. 如何使用新的glibc来编译自己的程序
  3. VirtualBox 命令行操作
  4. (转)使用LVS实现负载均衡原理及安装配置详解
  5. selenium+Python(Js处理日历控件)
  6. JDBC(1)-连接数据库
  7. linux install tomcat
  8. idea maven install 卡住,无报错排查。
  9. 模拟登陆Github示例
  10. Codeforces 156 A——Message——————【思维题】