C# TCP 网络编程示例

原创 2016年10月21日 15:20:55
//服务器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Forms;
using System.Drawing;
using System.IO;
using System.Collections;
using System.Configuration;
using MySql.Data;
using MySql.Data.MySqlClient;
using System.Data;
using System.Net;
using System.Net.Sockets;

class SimpleDialog : Form
{
    public static void Main()
    {
     
            IPEndPoint ipe = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8889);//用指定的端口和ip初始化IPEndPoint类的新实例

         ///创建socket并开始监听
            Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个socket对像,如果用udp协议,则要用SocketType.Dgram类型的套接字
            s.Bind(ipe);//绑定EndPoint对像(8889端口和ip地址)
            s.Listen(0);//开始监听
            Console.WriteLine("等待客户端连接");

         ///接受到client连接,为此连接建立新的socket,并接受信息
            Socket temp = s.Accept();//为新建连接创建新的socket
            Console.WriteLine("建立连接");
            string recvStr = "";
            byte[] recvBytes = new byte[1024];
            int bytes;
            bytes = temp.Receive(recvBytes, recvBytes.Length, 0);//从客户端接受信息
            recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);

         ///给client端返回信息
            Console.WriteLine("server get message:{0}", recvStr);//把客户端传来的信息显示出来
            string sendStr = "ok!Client send message successful!";
            byte[] bs = Encoding.ASCII.GetBytes(sendStr);
            temp.Send(bs, bs.Length, 0);//返回信息给客户端
            temp.Close();
            s.Close();
            Console.ReadLine();
        
    }
   
}

//客户端
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            IPEndPoint ipe = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8889);//把ip和端口转化为IPEndpoint实例

            ///创建socket并连接到服务器
            Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建Socket
            Console.WriteLine("Conneting…");
            c.Connect(ipe);//连接到服务器

            ///向服务器发送信息
            string sendStr = "hello!This is a socket test";
            byte[] bs = Encoding.ASCII.GetBytes(sendStr);//把字符串编码为字节
            Console.WriteLine("Send Message");
            c.Send(bs, bs.Length, 0);//发送信息

            ///接受从服务器返回的信息
            string recvStr = "";
            byte[] recvBytes = new byte[1024];
            int bytes;
            bytes = c.Receive(recvBytes, recvBytes.Length, 0);//从服务器端接受返回信息
            recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);
            Console.WriteLine("client get message:{0}", recvStr);//显示服务器返回信息
            ///一定记着用完socket后要关闭
            c.Close();
        }
        catch (ArgumentNullException e)
        {
            Console.WriteLine("argumentNullException: {0}", e);
        }
        catch (SocketException e)
        {
            Console.WriteLine("SocketException:{0}", e);
        }
        Console.WriteLine("Press Enter to Exit");
    }
}

Linux TCP网络编程示例

Linux TCP网络编程示例 [日期:2011-05-01] 来源:Linux社区  作者:Comfanter [字体:大 中 小] ...
  • linuxheik
  • linuxheik
  • 2013年08月20日 10:01
  • 531

Muduo 网络编程示例之零:前言

我将会写一系列文章,介绍用 muduo 网络库完成常见的 TCP 网络编程任务。这些例子都比较简单,逻辑不复杂,代码也很短,适合摘取关键部分放到博客上。其中一些有一定的代表性与针对性,比如“如何传输完...
  • Solstice
  • Solstice
  • 2011年02月02日 00:58
  • 31979

代码篇C#网络编程之tcp同步客户端

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin...
  • HK_5788
  • HK_5788
  • 2015年09月13日 14:02
  • 1165

c# WPF socket 编程

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst...
  • feiyang094
  • feiyang094
  • 2015年03月31日 10:11
  • 1484

基于UDP、TCP协议的C#网络编程

TCP(传输控制协议)是 TCP/IP 协议栈中的传输层协议,它通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。与IP协议相结合, TCP组成了因特网协议的核心。  ...
  • qq_15185769
  • qq_15185769
  • 2014年09月27日 14:07
  • 925

c#制作一个TCP/UDP测试工具

目标:使用C#制作一个简单的TCP/UDP测试工具,并且熟悉c#中的socket编程,具备TCP客户端和UPD客户端的功能,并能进行数据收发。 知识准备: 1、socket为何物? 2、c#中需要包含...
  • songhengli
  • songhengli
  • 2013年12月05日 09:41
  • 1573

C#建立TCP/IP连接

C#建立TCP/IP连接在C/S模式下做网络信号传输,使用TCP/IP协议是首选。 其传输机制: 首先服务端与客户端建立套接字(socket)连接,建立完套接字后,服务端与客户端通过套接字进行数据...
  • c0411034
  • c0411034
  • 2017年04月20日 23:08
  • 3601

c#网络编程之TCP/IP(一)C#线程任务基础Thread

这些日子很忙,太多的任务。今天把c#tcp/ip完善了一下,两种方式进行TCP/IP通信,一种是多线程,一种是多任务。之前看了c#之网络编程这本书,启发很大,但是里面的demo有很多很多的问题,以后我...
  • specialshoot
  • specialshoot
  • 2016年05月12日 11:14
  • 1361

C# 中TCP连接通过数据接收来判断连接是否断开

C#中TCP连接对于数据的接收,无论是socket或者
  • SANYUNI
  • SANYUNI
  • 2014年09月01日 18:43
  • 645

基于TCP的网络聊天程序

基于TCP的网络聊天程序
  • chen_swe
  • chen_swe
  • 2016年02月09日 16:19
  • 1007
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# TCP 网络编程示例
举报原因:
原因补充:

(最多只允许输入30个字)