请问,什么情况下用输入流,什么情况下是输出流,相对于客户端和server端来说,搞不清楚,有没有什么好的办法,分清楚,谢谢!
socket ss
ss.getInputStream().read
ss.getOutputStream().write
import java.io.DataInputStream;
import java.io.IOException;
import javax.microedition.io.Connection;
import javax.microedition.io.Connector;
import javax.microedition.io.ServerSocketConnection;
import javax.microedition.io.SocketConnection;
import javax.microedition.midlet.*;
/**
* Socket编程:服务器端
*
* @author mouyong
*/
public class ServerMidlet1 extends MIDlet {
public void startApp() {
ServerSocketConnection con=null;
try {
//服务器监听9999端口
con =(ServerSocketConnection) Connector.open("socket://:9999"); //open的参数是专门的格式来书写的
System.out.println("服务器IP:"+con.getLocalAddress());
System.out.println("服务器端口:"+con.getLocalPort());
//等待客户端连接
//如果没有连接,程序将在这里堵塞
//如果有连接,则返回SocketConnection,充当通信的桥梁
//之后,就可以通过sc进行通信
SocketConnection sc=(SocketConnection)con.acceptAndOpen();
System.out.println("客户端:"+sc.getAddress());
//接收客户端的输入
DataInputStream din=sc.openDataInputStream();
//readUTF()同样会出现堵塞
System.out.println("客户端说:"+din.readUTF());
} catch (IOException ex) {
ex.printStackTrace();
}
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package lession18;
import java.io.DataOutputStream;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.SocketConnection;
import javax.microedition.midlet.*;
/**
* Socket编程:客户端
*
* @author mouyong
*/
public class ClientMidlet1 extends MIDlet {
public void startApp() {
try {
//客户端可以通过sc与服务器端通信
SocketConnection sc=(SocketConnection)Connector.open("socket://192.168.0.13:9999"); //连接到服务器端
//开始与服务器通信:送给服务器一个“你好!”
DataOutputStream dout= sc.openDataOutputStream();
dout.writeUTF("你好!");
} catch (IOException ex) {
ex.printStackTrace();
}
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
Linux socket通信出现CLOSE_WAIT状态的原因与解决方法 这个问题之前没有怎么留意过,是最近在面试过程中遇到的一个问题,面了两家公司,两家公司竟然都面到到了这个问题,不得不使我开始关注这个问题。说起CLOSE_...
多进程编程 一、服务器并发访问的问题 服务器按处理方式可以分为迭代服务器和并发服务器两类。平常用C写的简单Socket客户端服务器通信,服务器每次只能处理一个客户的...
前言:对之前多进程服务器编写的简单总结。 文章目录1.什么是进程?2.创建进程2.1 fork()系统调用2.2 父进程创建子进程过程 1.什么是进程? 进程是系统中正在运行的一个程序,程序一旦运行就是进程。...
socket多进程编程 一、服务器并发访问的问题 服务器按处理方式可以分为迭代服务器和并发服务器两类。平常用C写的简单Socket客户端服务器通信,服务器每次只能处理一个客户的请求,它实现简单但效率很低,通常这种...
多进程编程1.进程的涵义2.为什么要多进程编程3.进程空间的内部布局4.fork()系统调用5.vfork()系统调用6.wait()与waitpid()7.多进程改写服务器程序 1.进程的涵义 什么是一个进程?在操作系统原理使用这样的术语来描述...
这世界上编程语言如此之多,想学完是不可能的,也是没有必要的。一般来说,一个人能精通一门语言,然后会使用另外一种语言就不错了。既然编程语言学不完,能不能把重点放到编程语言无关的技术上呢?首先能想到的就是...
平常用C写的简单Socket客户端服务器通信,服务器每次只能处理 一个客户的请求,它实现简单但效率很低,通常这种服务器被称为迭代服务器。 然而在实际应用中,不可能让一个服务器长时间 地为一个客户服务,而需要其...
在之前的学习中,掌握了socket编程,学会了如何编写一个客户端程序和服务器程序并且实现两者之间的连接,可是存在一个很大的问题,那就是我所编写的服务器最多只能服务一个客户端,而服务器并不能这样。 一.服务器...
OpenSSL API 的文档有些含糊不清。因为还没有多少关于 OpenSSL 使用的教程,所以对初学者来说,在 应用程序中使用它可能会有一些困难。那么怎样才能使用 OpenSSL 实现一个基本的安全连接呢? 本教程将帮助您解决这个...
第一部分 前 言 By Chenyi 眼前这本书充分体现了作者的所思、所想、所感,他用自己独特的眼光审视着计算机技术的世界,也用自己独特的思维逻辑对技术进行解读,并用自己特有的,呵呵,偶尔带有“四个逗号=一...
1、I/O阻塞书上说BIO、NIO等都属于I/O模型,但是I/O模型这个范围有点含糊,我为此走了不少弯路。我们日常开发过程中涉及到NIO模型应用,如Tomcat、Netty中等线程模型,可以直接将其视为 网络I/O模型 。本文还是在...
本文主要针对零基础想学习Python者。根据互联网资料收集整理而成。...2\Python编程基础 Python程序文件结构:程序→模块→语句→表达式 Python的关键要素(8个) 要素#1:基本数据类型 Integral类型 浮点类型 字符...
SOCKET accept( SOCKET s, struct sockaddr FAR* addr, int FAR* addrlen ); 参数: s[in] 一个描述符指定一个调用了listen函数处于listening状态的socket,在accept返回一个客户端socket后,连接将会真正建立
1.简介 1.1并发简史 产生原因:资源利用率、公平性、便利性 1.2线程的优势 1.2.1发挥多处理器的强大功能 1.2.2建模的简单性 1.2.3异步事件的简化处理 1.2.4响应更灵敏的用户界面 ... ...
A:编程问题中相当大的一部分都可以通过使用顺序编程来解决,然而,对于某些问题,如果能够并行地执行程序的多个部分,则会变得非常方便而且很有必要。 A:并发编程可以使程序执行速度得到极大的提高,或者为设计某些...
error: openssl 的所有解决方案 (2013/6/22 17:39:00)error: openssl/crypto.h: No such file or directory 解决方案 (2013/6/22 17:39:00) error: openssl/crypto.h: No such file or directory ...
关于这篇“常见问题解答” ************************ <br />这篇“常见问题解答” 由Patrick Horgan自一九九六年五月开始起草;因其历经 数月未复更新,我从而接手编辑。我已经将其内容稍做...
第二部分 导论,这一部分主要是关于编程的导论,(要懂得一点思想具备一点常识)《设计,编码,,与软工》(编程与思想)这一章解释了三种思想,原语,抽象,组合,,和软件开发的二个重要过程,,软件工程的相关概念...
第二部分 导论,这一部分主要是关于编程的导论, (要懂得一点思想具备一点常识)《设计,编码,,与软工》(编程与思想)这一章解释了三种思想,原语,抽象,组合,,和软件开发的二个重要过程,,软件工程的相关...
组播原理简介: 当同一个网段内有多个IGMP路由器时,IGMP通过查询器选举机制从中选举出唯一的查询器。查询器周期性地发送普遍组查询消息进行成员关系查询,主机通过发送报告消息来响应查询。...
本课程主要讲解如下内容:Oracle体系结构、Oracle 基础管理、SQL 语言、Sequence和同义词、数据字典及用户管理、E-R模型、Power Designer设计工具。在本
jdk1.8 64位官方正式版 jdk-8u91-windows
C#入门必看含有100个例字,每个例子都是针对C#的学习关键知识点设计的,是学习C#必须知道的一些程序例子,分享给大家,需要的可以下载
1.没有废话,句句都是干货!学习后保证可以跟着视频完成相应的实验。 2.现场从0编
本套课程使用了元认知教学法,直接实战式教学,摆脱学院派的理论式讲解,对于0基础的学员可以入门
十个c语言案例 (1)贪吃蛇 (2)五子棋游戏 (3)电话薄管理系统 (4)计算器 (5)万年历 (6)电子表 (7)客户端和服务器通信 (8)潜艇大战游戏 (9)鼠标器程序 (10)手机通讯录系统
2020美赛特等奖A题8篇论文
2019年数模美赛D题一等奖论文中文版本与最终版本,这里面卢浮宫的疏散方法可以修改为任意一篇快速疏散论文,搞数模竞赛的同学可以进行下载学习。
2020美赛a题海温数据,1877年至今,趁比赛还没结束上传赚点资源值 全球海洋温度影响某些海洋生物的栖息地质量。当温度变化太大,它们无法继续繁荣时,这些物种就会迁移到其他更适合它们现在和未来生活和繁殖成功的栖息地。其中一个例子就是美国缅因州的龙虾种群,它们正缓慢地向北迁移到加拿大,那里的海洋温度较低,为它们提供了更合适的栖息地。这种地理种群的转移可能会严重影响依赖海洋生物稳定性的公司的生计。 您的团队已被苏格兰北大西洋渔业管理协会聘请为顾问。该协会希望在全球海洋温度升高的情况下,更好地了解与苏格兰鲱鱼和鲭鱼从它们目前的栖息地苏格兰附近迁移有关的问题。这两种鱼类为苏格兰渔业做出了巨大的经济贡献。鲱鱼和鲭鱼种群分布位置的变化,可能会让规模较小的苏格兰渔业公司在经济上变得不切实际。这些公司使用渔船,但船上没有冷藏设备。
软件工程专业以计算机科学与技术学科为基础,强调软件开发的工程性,该课程使学生在掌握计算机科学与技术方面知识和技能的基础上熟练掌