服务端

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Net.Sockets;
  10. using System.Net;
  11. using System.Threading;
  12.  
  13. namespace WindowsFormsApplication1
  14. {
  15. public partial class Form1 : Form
  16. {
  17. public Form1()
  18. {
  19. InitializeComponent();
  20. }
  21. private TcpListener tcp;
  22. private void button1_Click(object sender, EventArgs e)
  23. {
  24. tcp = new TcpListener(IPAddress.Any, 5000);
  25. tcp.Start();
  26. Thread t = new Thread(server);
  27. t.IsBackground = true;
  28. t.Start(tcp);
  29. }
  30.  
  31. private void server(object o)
  32. {
  33.  
  34. TcpListener list = o as TcpListener;
  35. this.textBox1.AppendText("连接成功"+"\r\n");
  36. while (true)
  37. {
  38. const int buffer = 256;
  39. TcpClient client = list.AcceptTcpClient();
  40. NetworkStream strem = client.GetStream();
  41. byte[] b = new byte[buffer];
  42. int r = strem.Read(b, 0, buffer);
  43. string str = Encoding.UTF8.GetString(b, 0, r);
  44.  
  45. this.textBox2.AppendText(client.Client.RemoteEndPoint.ToString() + ":"+str+"\r\n");
  46. strem.Close();
  47.  
  48. }
  49.  
  50. }
  51.  
  52. public void showmsg(string msg)
  53. {
  54. this.textBox2.AppendText(msg + "\r\n");
  55. }
  56.  
  57. private void Form1_Load(object sender, EventArgs e)
  58. {
  59. Control.CheckForIllegalCrossThreadCalls = false;
  60. }
  61. }
  62. }

  客户端

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Net.Sockets;
  10. using System.Net;
  11. using System.Threading;
  12.  
  13. namespace client
  14. {
  15. public partial class Form1 : Form
  16. {
  17. public Form1()
  18. {
  19. InitializeComponent();
  20. }
  21. private TcpClient client;
  22. private void button1_Click(object sender, EventArgs e)
  23. {
  24. const int size = 406;
  25. client = new TcpClient();
  26. client.Connect(IPAddress.Parse("172.16.5.24"),5000);
  27. NetworkStream strem = client.GetStream();
  28. string str = this.textBox1.Text.Trim();
  29. byte[] b = Encoding.UTF8.GetBytes(str);
  30. strem.Write(b, 0, b.Length);
  31. strem.Close();
  32. client.Close();
  33.  
  34. }
  35.  
  36. private void Form1_Load(object sender, EventArgs e)
  37. {
  38. Control.CheckForIllegalCrossThreadCalls = false;
  39. }
  40. }
  41. }

  

c# TCPclient的更多相关文章

  1. C# - 网络编程 之 TcpClient与TcpListener

    TcpClient类 TcpListener类 TCP通信 UDP通信 参考:

  2. TcpClient 有好多坑

    下面2篇文章里头的问题都碰到了,真是好坑哈, 在此留念. 使用 TcpClient 與 NetworkStream 類別開發時的注意事項 [C#] NetworkStream.Write()存在严重b ...

  3. Socket聊天室-TcpListener,TcpClient

    参考自:http://blog.csdn.net/liguo9860/article/details/6148614 服务端:

  4. TcpClient类与TcpListener类

    TcpClient类 //构造方法1 TcpClient t = new TcpClient(); t.Connect(); //构造方法2 IPEndPoint iep = ); TcpClient ...

  5. Socket的三个功能类TCPClient、TCPListener 和 UDPClient (转)

    应用程序可以通过 TCPClient.TCPListener 和 UDPClient 类使用传输控制协议 (TCP) 和用户数据文报协议 (UDP) 服务.这些协议类建立在 System.Net.So ...

  6. C# TcpClient TcpListener 简单练习01

    下面是读<Visual C#.Net 网络编程>整理的练习代码. 客户端发送命令给服务端,从服务器端获取所有人员的成绩或者指定人员的成绩. 命令格式为 GET 0|1 [Name].0为获 ...

  7. Socket与TcpClient的区别(转载)

    Socket和TcpClient有什么区别 原文:http://wxwinter.spaces.live.com/blog/cns!C36588978AFC344A!322.entry 回答: &qu ...

  8. TcpClient 错误"不能做任何连接,因为目标机器积极地拒绝它" 的解决

    TcpClient 错误"不能做任何连接,因为目标机器积极地拒绝它" 的解决 //以下是tcpclient服务器端的监听程序,假设服务器端和客户端在同一台机器上,//为了使客户端可 ...

  9. C#TCPClient应用-一个简单的消息发送和接收

    TcpSend窗口用于发送消息,另外写一个用于接收消息的应用程序,消息接受到以后,必须要关闭接收消息的窗口,才能在接收新的消息,不知道怎么能解决这个问题. 源代码: 发送消息的窗口代码 using S ...

随机推荐

  1. oracle导sql脚本

    在plsql里,新建命令窗口,输入如下命令 @d:\test.sql

  2. Java基础之一组有用的类——使用公历日历(TryCalendar)

    控制台程序. 公历是西方使用的日历,用GregorianCalendar类的对象来表示.GregorianCalendar对象封装了时区信息.日期和时间数据.GregorianCalendar对象有7 ...

  3. 转:python webdriver API 之控制浏览器滚动条

    有时候 web 页面上的元素并非直接可见的,就算把浏览器最大化,我们依然需要拖动滚动条才能看到想要操作的元素, 这个时候就要控制页面滚动条的拖动, 但滚动条并非页面上的元素, 可以借助 JavaScr ...

  4. WebService的简单应用

    具体看项目源文件:包含: ip地址查询, QQ在线状态查询,和自定义的MD5 破解和加密(呵呵有形无势...) http://pan.baidu.com/s/1bn09WQj SOAP 1.1 The ...

  5. 20145207《Java程序设计》第9周学习总结

    教材学习内容总结 第十六章 整合数据库 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作,开发人员无须接触底层数据库驱动程序的差异性.厂商在操作JDBC驱 ...

  6. bean中集合属性的配置

    在实际的开发中,有的bean中会有集合属性,如下: package com.sevenhu.domain; import java.util.List; /** * Created by hu on ...

  7. demo07

    city_data.xml <?xml version="1.0" encoding="utf-8"?> <resources> < ...

  8. EBS常用小常识(转)

    值集: 1.编辑信息:取上一个值集所选的数据.(值集关联) WHERE BANK_ACCOUNT_ID = :$FLEX$.CE_BANK_ACCOUNT_NUM_NAME ORDER BY STAT ...

  9. 夺命雷公狗---linux之centos的安装

    由于要玩node.js了,所以还是来复习下linux系统才行,所以夺命雷公狗分享两套安装linux的方法,这是centos的安装方法,,, 管理员默认帐号为:root,密码则是刚才您输入的那个...

  10. 怎么开启PHP 的错误提示?

    怎么开启PHP 的错误提示?   在php.ini 修改error_reporting = E_ALL & ~E_NOTICEdisplay_errors = On重启apache服务器在运行 ...