笔记-TCPCLIENT
byte[] myReadBuffer = new byte[];
private void ReceiveMessage()
{
try
{
tcpClient = new System.Net.Sockets.TcpClient("192.168.1.3", );//创建TcpClient对象实例
}
catch (Exception le)
{
}
netStream = tcpClient.GetStream();//得到网络流
if (netStream.CanWrite)
{
byte[] myWriteBuffer = Encoding.ASCII.GetBytes("Are you receiving this message?");
netStream.BeginWrite(myWriteBuffer, , myWriteBuffer.Length,
new AsyncCallback(myWriteCallBack),
netStream);
allDone.WaitOne();
}
else
{
Console.WriteLine("Sorry. You cannot write to this NetworkStream.");
}
if (netStream.CanRead)
{
netStream.BeginRead(myReadBuffer, , myReadBuffer.Length,myReadCallBack,netStream);
allDone.WaitOne();
}
else
{
Console.WriteLine("Sorry. You cannot read from this NetworkStream.");
}
}
public void myWriteCallBack(IAsyncResult ar)
{
NetworkStream myNetworkStream = (NetworkStream)ar.AsyncState;
myNetworkStream.EndWrite(ar);
allDone.Set();
}
public void myReadCallBack(IAsyncResult ar)
{
StringBuilder myCompleteMessage = new StringBuilder();
NetworkStream myNetworkStream = (NetworkStream)ar.AsyncState;
int numberOfBytesRead;
numberOfBytesRead = myNetworkStream.EndRead(ar);
string str = Encoding.ASCII.GetString(myReadBuffer, , numberOfBytesRead);
myCompleteMessage.AppendFormat("{0}", str);
// message received may be larger than buffer size so loop through until you have it all.
while (myNetworkStream.DataAvailable)
{
myNetworkStream.BeginRead(myReadBuffer, , myReadBuffer.Length,new AsyncCallback(myReadCallBack), myNetworkStream);
//
}
// Print out the received message to the console.
TextBox2.Text = myCompleteMessage.ToString();
allDone.Set();
}
笔记-TCPCLIENT的更多相关文章
- Socket入门笔记 用TcpClient实现一个简易聊天室
效果 实现思路 使用TcpListener建一个服务器,接收所有客户端发送的消息,然后由服务器再发送到其他客户端 客户端使用TcpClient,发消息给服务器,接收服务器的消息,不和其他客户端直接交互 ...
- Rest API 开发 学习笔记(转)
Rest API 开发 学习笔记 概述 REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表示方式.获得这些表徵致使这些应用程序转变了其状态.随着 ...
- Java Socket网络编程学习笔记(一)
0.前言 其实大概半年前就已经看过网络编程Socket的知识了(传统IO),但是因为长时间的不使用导致忘的一干二净,最近正好准备校招,又重新看了网络编程这一章, 是传统IO(BIO)相关的内容,故在此 ...
- Mudo C++网络库第六章学习笔记
muduo网络库简介 高级语言(Java, Python等)的Sockects库并没有对Sockects API提供更高层的封装, 直接用它编写程序很容易掉到陷阱中: 网络库的价值还在于能方便地处理并 ...
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
- 日笔记--C# 从数据库取表格到DataGridView---json传输
只作为个人学习笔记. class OpData { // 创建一个和客户端通信的套接字 Socket socketwatch = null; //连接Access字符串 string strCon; ...
- unix网络编程笔记(二)
第四章笔记 1. 基本Tcpclient/server程序的套接字函数 2. socket函数: int socket(int family,int type,int protocol); (1)so ...
- 大数据学习笔记——Java篇之网络编程基础
Java网络编程学习笔记 1. 网络编程基础知识 1.1 网络分层图 网络分层分为两种模型:OSI模型以及TCP/IP网络模型,前者模型分为7层,是一个理论的,参考的模型:后者为实际应用的模型,具体对 ...
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
随机推荐
- bootstrap+Ajax+SSM(maven搭建)表单增删改查
前后端分离,前端利用ajax调用后端API接收json数据,进行表单的增删改查 软件架构 IDE:IDEA 数据库:mysql jdk:1.8 tomcat:9 后端:springmvc,mybati ...
- Filter学习(三)Filter(过滤器)常见应用
一.统一全站字符编码 通过配置参数charset指明使用何种字符编码,以处理Html Form请求参数的中文问题: package com.web.filter; import java.io.IOE ...
- WPF 自定义键盘焦点样式(FocusVisualStyle)
WPF 自带的键盘焦点样式是与传统控件样式搭配的,但 WPF 凭着其强大的自定义样式的能力,做出与传统控件样式完全不同风格的 UI 简直易如反掌.这时,其自带的键盘焦点样式(FocusVisualSt ...
- 【DUBBO】dubbo的LoadBalance接口
LoadBalance负载均衡, 负责从多个 Invokers中选出具体的一个Invoker用于本次调用,调用过程中包含了负载均衡的算法,调用失败后需要重新选择 --->类注解@SPI说明可以基 ...
- jQuery的页面初始化操作写法
$(document).ready(function(){ alert("第一种方法."); }); $(function(){ alert("第二种方法.") ...
- requireJS多页面应用实例
本文是requireJS的一些知识点的总结,配上多页面应用中的实例分析. 本案例的目录结构如下: requireJS API的三个主要函数:define(创建模块),require(加载模块),con ...
- sql语句查询重复数据
select id, name, memofrom Awhere id in (select id from A group by id having count(1) >= 2)
- xunsearch开发流程(三)
(一).编写项目配置文件 通过创建一个项目文件来创建一个新的项目cd /data/local/xunsearch/sdk/php/apptouch njw.ini文件内容如下 project.name ...
- 学生选课数据库SQL语句练习题
一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...
- PAT 甲级1003 Emergency (25)(25 分)(Dikjstra,也可以自己到自己!)
As an emergency rescue team leader of a city, you are given a special map of your country. The map s ...