网络编程—04

Powerbuilder 使用Socket函数发送数据 天想使用pb10来操作socket函数, 在这里写个测试代码,以作备用。 PowerBuilder 测试代码: API函数声明 FUNCTION Long WSAStartup ( Integer wVersionRequired, REF WSADATA lpWSAData) LIBRARY "ws2_32.dll" ALIAS FOR "WSAStartup;ansi" FUNCTION Long WSACleanup( ) LIBRARY "ws2_32.dll" FUNCTIO... 阅读详情

 

/*
客户端
通过查阅socket对象,发现在该对象建立时,就可以去连接
指定主机。
因为tcp是面向连接的,所以在建立socket服务时,就要有服务
端存在,并连接成功,形成通路后,在该通道进行数据的传输。

需求:给服务端发送一个文本数据

步骤:
1,创建socket服务,并指定要连接的主机和端口。
*/

例:
import java.io.*;
import java.net.*;
class TcpClient
{
 public static void main(String[] args)throws Exception
 {
  //创建客户端的socket服务,指定目的主机和端口
  Socket s = new Socket("114.98.251.139", 10003);
  
  //为了发送数据,应该获取socket流中的输出流
  OutputStream out = s.getOutputStream();
  
  out.write("我来了".getBytes()); //变成字节数据写入
  
  s.close();
 }
}
/*
需求:定义端点接收数据并打印在控制台上

服务端:
1,建立服务端的socket服务,ServerSocket();
  并监听一个端口
2,获取连接过来的客户端对象。
  通过ServerSocket的accept方法,没有连接就会等,
  所以这个方法是阻塞式的
3,客户端如果发过来数据,那么服务端要使用对应的客
  户端对象,并获取到该客户端对象的读取流来读取发
  过来的数据。
4,关闭服务端(可选操作)
*/
class TcpServer
{
 public static void main(String[] args)throws Exception
 {
  //建立服务端的socket服务,并监听一个端口
  ServerSocket ss = new ServerSocket(10003);
  
  //通过accept方法获取连接过来的客户端对象
  Socket s = ss.accept();
  
  String ip = s.getInetAddress().getHostAddress();
  System.out.println(ip+"...connected");
  
  //获取客户端发送过来的数据,那么要使用客户端对象
  //的读取流来读取数据
  InputStream in = s.getInputStream();
  
  byte[] buf = new byte[1024];
  int len = in.read(buf);
  
  System.out.println(new String(buf, 0, len)); //变成字符输出
  
  s.close();//关闭客户端
  ss.close();
 } 
}

--------------------------------------------------------------------------------------------------

/*
演示tcp传输的客户端和服务端的互访

需求:客户端给服务端发送数据,服务端收到后,给客户端
反馈信息

客户端:
1,建立socket服务,指定要连接主机和端口
2,获取socket流中的输出流,将数据写到该流中。通过网络
  发送给服务端
3,获取socket流中的输入流,将服务端反馈的数据获取到,并打印。
4,关闭客户端资源
*/
import java.io.*;
import java.net.*;

class TcpClient2
{
 public static void main(String[] args)throws Exception
 {
  //创建客户端socket服务,指定地址和端口
  Socket s = new Socket("114.98.251.139",10004); 
  
  //为了发送数据,应该获取socket流中的输出流
  OutputStream out = s.getOutputStream();
  
  //变成字节数据写入输出流
  out.write("服务端你好,我又来了".getBytes());
  
  //为了获取数据,应该获取socket流中的输入流
  InputStream in = s.getInputStream();
  
  byte[] buf = new byte[1024];
  
  int len = in.read(buf);//写入数据
  
  System.out.println(new String(buf, 0, len));//输出数据
  
  s.close();
 } 
}

class TcpServer2
{
 public static void main(String[] args)throws Exception 
 {
  //创建服务器端socket服务,并监听一个端口
  ServerSocket ss = new ServerSocket(10004);
  
  //通过accept方法获取连接过来的客户端对象
  Socket s = ss.accept();
  
  //获取ip地址并输出
  String ip = s.getInetAddress().getHostAddress();
  System.out.println(ip+"...connect");
  
  //获取客户端发过来的数据,要使用客户端对象的读取流读取数据
  InputStream in = s.getInputStream();
  
  byte[] buf = new byte[1024];
  
  int len = in.read(buf);//写入数据
  System.out.println( new String(buf, 0, len));//输出数据
  
  //反馈给客户端信息,要使用输出流输出数据
  OutputStream out = s.getOutputStream();
  
  Thread.sleep(10000);
  out.write("老子收到了,你也好".getBytes());
  
  ss.close();
  
 }
}

---------------------------------------------------------------------------------------

 

 

 

对pbsocket认识 global variablesWinSock   wsevent:openws = create WinSock    //提供常数和函数winsock_errorevent:closedestroy wssServer = create SocketStream         //数据流传输模式:自动创建套接字 sServer.bind(ulAddr,iPort) sServer.liste 阅读详情

相关推荐

pb socket实例

PB编写的socket通讯实例,包括服务器端和客户端,非常详细! 还可通过配置 ini配置文件实现连接数据库,约定ip地址等。

socket通信应用

这是进程通信的最后一节. socket可以实现不同进程间的通信, 可以是相同机器的不同进程, 也可以是不同机器的不同进程.本文的目的是简要学习socket通信的应用, 并且结合前几篇的内容, 学习socket通信的部分底层实现. 涉及到的一些api因为网上参考内容很多, 这里就不会介绍api的使用了.utilsutils封装了init/bind和connet调用. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2

自由 分享 合作 698

pb实现socket源码

pb实现socket编程,源码可以加载到项目直接调用

使用pb的connection对象建立TCP连接

connection myconnectint li_returnmyconnect = create connectionmyconnect.driver = "WinSock"myconnect.application = "8100"myconnect.location ="127.0.0.1"li_return=myconnect.ConnectToServer()if li_return

*冷鹰* 2362

PB9+WinSock例子

PB9 WinSock例子,已测试通过。

PB SOCKET 源代码

PB12.6 最新 Socket 源代码范例。win7可编译运行无问题。

Python进阶04-网络编程

创建服务端端套接字对象绑定端口号设置监听等待接受客户端的连接请求接收数据发送数据关闭套接字。

李宥的博客 1377

pb下利用socket进行网络传输

pb下利用socket进行网络传输,并附api函数和用法

网络编程04

网络编程04 学习目标: 1.了解poll函数 2 .熟练使用epoll多路IO模型 3.了解epoll ET/LT触发模式并实现 4 .理解epoll边缘非阻塞模式并实现 5.了解epoll反应堆模型设计思想 6 .能看懂epoll反应堆模型的实现代码 ...

骊山道童的博客 326

PB使用SOCKET

PB使用SOCKET技术进行通信,原代码

线性调频LFM脉冲压缩 连续波雷达仿真&线性调频信号仿真分析压缩matlab程序源码

13、线性调频信号(LFM)压缩感知的稀疏与重构算法(OMP)的matlab仿真程序(一个可以在matlab上运行的压缩感知实例;8、具有多普勒频移的线性调频信号(知道带宽、采样频率、T使用MATLAB仿真线性调频信号即LFM,同时具有多普勒频移时,匹配滤波后的波形变化。19、CW脉冲和LFM信号Matlab仿真(这是matlab仿真程序,实现了常规雷达信号CW和线性调频信号LFM的仿真)18、lfm信号模糊函数图 matlab(用matlab 实现的线性调频信号信号(lfm)的模糊函数图)

2301_77866396的博客 400

04 Linux网络编程

Linux网络编程

weixin_52341045的博客 2943

从打印攻击到视频重放:手把手用OULU-NPU训练你的第一个活体检测模型

本文详细介绍了如何使用OULU-NPU数据集训练活体检测模型,以应对打印攻击和视频重放等安全威胁。通过PyTorch框架,从环境准备、数据加载、预处理到模型架构设计,手把手教你构建一个高效的双流网络,结合CNN和LSTM技术,提升模型在多种攻击场景下的检测准确率。

weixin_29092031的博客 384

04_网络编程

null

因为热爱,所以坚持。 431

FPGA高速接口Aurora8B/10B协议实战:从IP核配置到数据流优化

本文详细介绍了FPGA高速接口Aurora8B/10B协议的实战应用,从IP核配置到数据流优化的全流程。通过Aurora8B/10B协议,开发者可以在FPGA间实现高效的数据传输,适用于高速接口设计。文章涵盖了协议基础、IP核配置、AXI4-Stream接口实战技巧以及性能优化策略,帮助读者快速掌握这一关键技术。

weixin_29280657的博客 268

技术美术个人笔记(十三)——Houdini金属弯曲模拟

最近接收到使用Houdini自动解算破损/砸坏/扭曲汽车的需求,以此文记录制作金属弯曲自动解算工具时使用的部分节点解析;

小谁的博客 2148

Day04_网络编程

网络编程=套接字编程=Socket编程Socket(套接字) 负责进程之间的网络数据传输(是二进制类型)

l12345sy的博客 288

矢量网络分析仪(矢网)组成和原理简介

一、概述 矢量网络分析仪是一种常见的射频测量仪器,主要用来测量高频器件、电路及系统的性能参数,如线性参数、非线性参数、变频参数等。 1.1 分类 矢量网络分析仪一般以频率来划分,截止频率越高,价格也越贵; 根据测试端口的数量可分为:双端口、 3 端口、 4 端口、 6 端口; 常见的厂家有:美国的安捷伦( Agilent)、德国的罗德与施瓦茨( R&S) , 国内的有南京普纳和中电 41 所。 1.2 常用功能 常用的测试器件有:功分器、合路器、滤波器、衰减器、天线、电缆、放大器、混频器、双工器、耦

大音希声 5万+

04网络编程(自学时笔记)

自学时的一些笔记

LLLYYYF的博客 306

Python 爬虫实战:就业市场趋势数据抓取与行业洞察

在当今竞争激烈的就业市场中,了解行业趋势和就业形势对于求职者、学生以及人力资源专业人士来说至关重要。通过获取和分析就业市场数据,我们可以深入了解不同行业的招聘需求、薪资水平、技能要求等关键信息,从而为职业规划和人才发展提供有力支持。

yansideyucsdn的博客 1406

DBT关键切片重建算法

DBT通过有限角度(通常15°~50°)扫描,获取一系列低剂量投影图,重建出三维断层图像。传统FBP在稀疏角度下会产生严重的“伪影拖尾”和层间干扰。临床诊断中,放射科医生往往只关注几层关键切片(即病灶所在层),其余层仅作参考。

AI的内部世界的博客 89

网络编程入门04

Poll函数 #include <poll.h>   int poll(struct pollfd fd[], nfds_t nfds, int timeout);   参数:    1)第一个参数:一个结构数组,struct pollfd结构如下:   struct pollfd{   int fd; //文件描述符   short ...

190

29、集成电路测试技术解析

本文深入解析了集成电路测试技术,涵盖定制电路测试资源与策略、混合模拟/数字电路测试方法、数字测试模式生成难点与解决方案,以及可控性和可观测性的核心概念。同时详细讨论了固定故障、桥接故障和开路故障等主要故障模型及其检测方法。在测试技术的综合应用与优化方面,提出了合理配置测试资源、优化测试模式和设计测试流程的策略。最后展望了测试技术的发展趋势,包括集成化测试、自动化测试和智能化测试。通过全面掌握这些测试技术,可以有效提高集成电路的质量和可靠性,推动集成电路产业的发展。

work3的博客 204

QT——C++ 网络编程04

QT——C++ 网络编程04。

a123123sdf的博客 444

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

04_2_Python网络编程

网络编程的核心是Socket(套接字),用于实现不同主机间的通信。Socket分为流式(TCP)和数据报式(UDP)。TCP提供可靠连接,UDP则更轻量但不保证可靠性。

qq_64232275的博客 1311

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

狂神说笔记——网络编程04

网络编程 1.概述 邮件: 计算机网络: 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 网络编程的目的:无线电台…传播交流信息,数据交换,通信。 想要达到这个效果需要什么: 如何让准确的定位网络上的一台主机 192.168.16.124:端口, 定位上这个计算机上的某个资源。 找到了这个主机,如何传输数据呢? Javaweb:网页编程 、 B/S架构 网络编程

杨丙寅 545

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: 网络编程—03
下一篇: 网络编程—05
麦豆东东
博客等级 码龄14年 2粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值