java通信
❶ 请帮忙用java socket写个通信类,通信协议是如下,谢谢!
这个协议要花很久时间的,估计在网络知道没人会给你做出来
不过这个 不是什么难东西 懂得基础的socket知识即可 至少稍微有些繁琐罢了
加油
❷ JAVA和c++是怎么进行通讯的
1. Java Native Interface(JNI)
中文为JAVA本地调用, 从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。
2. Socket通信
3. Web service
❸ Java 进行通信,请问有什么好的实现思路吗
1
Java
中输入
/
输出流概念
Java
语言的优点主要表现在
:
简单、
面向对象、
多线程、
分布性、
体系结构中立、
安全性等方面。
主要体现在
Java
实现了自动的垃
圾收集
,
简化了内存管理的工作
;
提供了简单的类机制和动态的构架模型
;
多线程使应用程序可以同时进行不同的操作
,
处理不同
的事件
;
是一种面向网络的语言
,
Java
程序能在网络的任何地方运行
,
且可防止病毒的入侵。
过滤流
DataInputStream
和
DataOutputStream
除了分别作为
FilterInputStream
和
FilterOutputStream
的子类外
,
还分别实现了接
口
DataInput
和
DataOutput
。接口
DataInput
中定义的方法主要包括从流中读取基本类型的数据、
读取一行数据、
或者读取指定长度
的字节数
,
如
readBoolean()
、
readInt()
、
readLine()
、
等。
接口
DataOutput
中定义的方法主要是向流中写入基本类型的数据或者写入一定
长度的字节数组
,
如
writeChar()
、
writeDouble()
、
DataInputStream
可以从所连接的输入流中读取与机器无关的基本类型数据
,
用以实现
一种独立于具体平台的输入方式
;
DataInputStream
可以向所连接的输出流写入基本类型的数据。
2
Socket
机制
Socket
是面向客户
/
服务器模型设计的
,
网络上的两个程序通过一个双向的通讯连接实现数据的交换
,
这个双向链路的一端称
为一个
Socket
。
Socket
通常用来实现客户方和服务方的连接。
客户程序可以向
Socket
写请求
,
服务器将处理此请求
,
然后通过
Socket
将结果返回给用户。
Socket
通信机制提供了两种通讯方式
:
有联接和无联接方式
,
分别面向不同的应用需求。
3
客户机
/
服务器通信的实现
:
两端通过
Socket
机制进行连接来实现
Application
同
Applet
的通信
:
正是由于
Java
系统具有基于
Socket
的灵活通信机制
,
因而
其应用程序能自由地打开和访问网络上的对象
,
就象在本地文件系统中一样。
才能实现
Applet
之间的通信
:
Applet
之间的通信使用
Applet
Context
类的
getApplet()
方法。
<applet
ITJOB
code=applet1.class
width=200
height=200
name=first>
只要在程序中加入
Applet
oneap-
plet=getAppletContext().getApplet(
“
first
”
);
便可使用
name
为
first
的
Applet
中的方法了。
程序如下
:
import
java.io.*;
import
java.net.*;
import
java.lang.*
❹ java 中socket实现通信的原理
Java socket通信在Java语言中是一个使用很广泛的工具,下面我们就来仔细的学习下有关的方法。这对大家在以后的使用中有所帮助,只有不断的学习才能更好的使用。
所谓Java socket通信通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端, Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说, 套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过 SocketImpl类及其子类完成的。
重要的Socket API:
java.net.Socket继承于java.lang.Object,有八个构造器,其方法并不多,下面介绍使用最频繁的三个方法,其它方法大家可以见JDK-1.3文档。Accept方法用于产生"阻塞",直到接受到一个连接,并且返回一个客户端的Socket对象实例。"阻塞"是一个术语,它使程序运行暂时"停留"在这个地方,直到一个会话产生,然后程序继续;通常"阻塞"是由循环产生的。
getInputStream方法获得网络连接输入,同时返回一个IutputStream对象实例。
getOutputStream方法连接的另一端将得到输入,同时返回一个OutputStream对象实例。
注意:其中getInputStream和getOutputStream方法均会产生一个IOException,它必须被捕获,因为它们返回的流对象,通常都会被另一个流对象使用。
如何开发一个Server-Client模型的程序
Java socket通信开发原理:
服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。
客户端,使用Java socket通信对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。
❺ JAVA socket通信
publicclassClient{
publicstaticvoidmain(String[]args){
Strings=null;
Socketmysocket;
DataInputStreamin=null;
DataOutputStreamout=null;
try{
mysocket=newSocket("127.0.0.1",4331);
in=newDataInputStream(mysocket.getInputStream());
out=newDataOutputStream(mysocket.getOutputStream());
for(intk=1;k<100;k=k+2){
out.writeUTF(""+k);
s=in.readUTF();
System.out.println("客户收到"+s);
Thread.sleep(500);
}
}catch(Exceptione){
System.out.println("服务器已断开"+e);
}
}
}
publicclassServer{
publicstaticvoidmain(String[]args){
ServerSocketserver=null;
Socketyou=null;
Strings=null;
DataOutputStreamout=null;
DataInputStreamin=null;
try{
server=newServerSocket(4331);
}catch(Exceptione){
System.out.println(e);
}
try{
System.out.println("等待客户呼叫");
you=server.accept();
out=newDataOutputStream(you.getOutputStream());
in=newDataInputStream(you.getInputStream());
while(true){
s=in.readUTF();
intm=Integer.parseInt(s);
out.writeUTF("你好,我是服务器");
out.writeUTF("你说的数乘2后是:"+2*m);
System.out.println("服务器收到:"+s);
Thread.sleep(500);
}
}catch(Exceptione){
System.out.println("客户端已断开"+e);
}
}
}
很简单的服务器客户端程序
❻ Java 的通信编程
import java.io.*;
import java.net.*;
class TCPClient{
public static void main(String[] args)throws IOException{
Socket client = new Socket("127.0.0.1" , 5050);
InputStream in = client.getInputStream();
OutputStream out = client.getOutputStream();
out.write('c');
char c = (char)in.read();
System.out.println("收到:" + c);
out.close();
in.close();
client.close();
}
}
import java.io.*;
import java.net.*;
class TCPServer{
public static void main(String[] args)throws IOException{
ServerSocket listen = new ServerSocket(5050);
Socket server = listen.accept();
InputStream in = server.getInputStream();
OutputStream out = server.getOutputStream();
char c = (char)in.read();
System.out.println("收到:" + c);
out.write('s');
out.close();
in.close();
server.close();
listen.close();
}
}
❼ java 做即使通讯
没有用框架?用的长连接?报错信息有吗?有的话贴出来
❽ java编程中,Socket通信是怎么实现的
java编程对于Socket之间的通信过程如下:
服务端往Socket的输出流里面写东西,客户端就可以通过Socket的输入流读取对应的内容。Socket与Socket之间是双向连通的,所以客户端也可以往对应的Socket输出流里面写东西,然后服务端对应的Socket的输入流就可以读出对应的内容。下面来看一些服务端与客户端通信的例子:
publicclassServer{
publicstaticvoidmain(Stringargs[])throwsIOException{
//为了简单起见,所有的异常信息都往外抛
intport=8899;
//定义一个ServerSocket监听在端口8899上
ServerSocketserver=newServerSocket(port);
//server尝试接收其他Socket的连接请求,server的accept方法是阻塞式的
Socketsocket=server.accept();
//跟客户端建立好连接之后,我们就可以获取socket的InputStream,并从中读取客户端发过来的信息了。
Readerreader=newInputStreamReader(socket.getInputStream());
charchars[]=newchar[64];
intlen;
StringBuildersb=newStringBuilder();
while((len=reader.read(chars))!=-1){
sb.append(newString(chars,0,len));
}
System.out.println("fromclient:"+sb);
reader.close();
socket.close();
server.close();
}
}
客户端代码
Java代码publicclassClient{
publicstaticvoidmain(Stringargs[])throwsException{
//为了简单起见,所有的异常都直接往外抛
Stringhost="127.0.0.1";//要连接的服务端IP地址
intport=8899;//要连接的服务端对应的监听端口
//与服务端建立连接
Socketclient=newSocket(host,port);
//建立连接后就可以往服务端写数据了
Writerwriter=newOutputStreamWriter(client.getOutputStream());
writer.write("HelloServer.");
writer.flush();//写完后要记得flush
writer.close();
client.close();
}
}
❾ 通信系统都用到java里的什么技术啊
通信主要是java的Socket编程
网络编程主要类和接口:
java.net.Socket 此类实现客户端套接字,一般客户端都是该类的对象。该类的构造函数很多,如可以指定服务器端的IP和端口号
java.net.ServerSocket 此类实现服务器套接字,在构造函数中指定端口.
通信大概的步骤:
服务器端
1.服务器绑定端口,可以在构造函数中指定,或者 调用bind()方法
2.监听客户端请求 accept()方法,返回一个Socket对象
3.获得输入流 使用Socket的getInputStream()返回客户端的发送过来的的信息
4.获得输出流 使用Socket的getOutputStream(),获得输出流然后将要返回给客户端的内容加到输出流中
5.发送信息 flush()方法
6. 继续监听 或则 是关闭Socket 使用close()方法
客户端
1.指定服务器IP和端口进行连接 可以使用构造函数 或则 是connect()方法
2.获得输出流 使用Socket的getOutputStream(),获得输出流然后将要返回给客户端的内容加到输出流中
3.发送信息 flush()方法
4.获得输入流 使用Socket的getInputStream()返回客户端的发送过来的的信息 即服务器端的信息
5.关闭Socket 使用close()方法
如果是串口 或则是并口通信的话 不是J2SE的内容,不过有开源组织实现相关的接口.如JUsb 等等
❿ Java 类之间的通信
顶楼上!我也感觉你说的这个就是一个方法调用另一个方法,触发这个事件是个判定条件??判定成功返回TRUE就调用另一个方法?然后传递数据? 不知道这样说对不对,下面是个相当简单的比方了,对了就采纳吧!O(∩_∩)O哈哈~
public void A(){
int i =0;
if(i=0){
String str = "";
B(str) ;
}
}
public void B(String str){
}