java网络通信
㈠ java提供了哪几种网络通信模式
服务器端
DataInputStream inData;
socket = serverSocket.accept();
inData = new DataInputStream(socket.getInputStream());
outData = new DataOutputStream(socket.getOutputStream());
byte[] b = ("hello world").getBytes();
outData.write(b,0,b.lenth);
客户端是
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
byte[] b ;
ByteArrayOutputStream out1 = new ByteArrayOutputStream();
while (in.available() != 0) {
out1.write(in.read());
}
b = out1.toByteArray();
return new String(b);
转换的时候有问题
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
byte[] b = new byte[in.available()];
for(int i = 0;i < b.length;i++){
b[i] = (byte)in.read();
}
String s = new String(b);
㈡ java网络通信如何使用字节类传送字节数据
服务器端
DataInputStream inData;
socket = serverSocket.accept();
inData = new DataInputStream(socket.getInputStream());
outData = new DataOutputStream(socket.getOutputStream());
byte[] b = ("hello world").getBytes();
outData.write(b,0,b.lenth);
客户端是
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
byte[] b ;
ByteArrayOutputStream out1 = new ByteArrayOutputStream();
while (in.available() != 0) {
out1.write(in.read());
}
b = out1.toByteArray();
return new String(b);
转换的时候有问题
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
byte[] b = new byte[in.available()];
for(int i = 0;i < b.length;i++){
b[i] = (byte)in.read();
}
String s = new String(b);
㈢ java网络通信程序
这个程序 我是从一个我以及回答了的问题里面过来的, 这个的原版是别人提供的,所以 你参考一下:
服务器端:ServerDemo.java
Java代码
1.package com.lanber.socket;
2.import java.io.DataInputStream;
3.import java.io.DataOutputStream;
4.import java.io.IOException;
5.import java.net.ServerSocket;
6.import java.net.Socket;
7.public class ServerDemo {
8./**
9.* 注意:Socket的发送与接收是需要同步进行的,即客户端发送一条信息,服务器必需先接收这条信息,
10.* 而后才可以向客户端发送信息,否则将会有运行时出错。
11.* @param args
12.*/
13.public static void main(String[] args) {
14.ServerSocket ss = null;
15.try {
16.ss = new ServerSocket(8888);
17.//服务器接收到客户端的数据后,创建与此客户端对话的Socket
18.Socket socket = ss.accept();
19.//用于向客户端发送数据的输出流
20.DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
21.//用于接收客户端发来的数据的输入流
22.DataInputStream dis = new DataInputStream(socket.getInputStream());
23.System.out.println("服务器接收到客户端的连接请求:" + dis.readUTF());
24.//服务器向客户端发送连接成功确认信息
25.dos.writeUTF("接受连接请求,连接成功! 当前时间为:"+new Data());
26.//不需要继续使用此连接时,关闭连接
27.socket.close();
28.ss.close();
29.} catch (IOException e) {
30.e.printStackTrace();
31.}
32.}
33.}
Server Socket通信客户端:ClientDemo.java
Java代码
34.package com.lanber.socket;
35.import java.io.DataInputStream;
36.import java.io.DataOutputStream;
37.import java.io.IOException;
38.import java.io.OutputStream;
39.import java.net.Socket;
40.import java.net.UnknownHostException;
41.public class ClientDemo {
42./**
43.* @param args
44.*/
45.public static void main(String[] args) {
46.Socket socket = null;
47.try {
48.socket = new Socket("localhost",8888);
49.//获取输出流,用于客户端向服务器端发送数据
50.DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
51.//获取输入流,用于接收服务器端发送来的数据
52.DataInputStream dis = new DataInputStream(socket.getInputStream());
53.//客户端向服务器端发送数据
54.dos.writeUTF("我是客户端,请求连接! 请求时间为:"+new Data());
55.//打印出从服务器端接收到的数据
56.System.out.println(dis.readUTF());
57.//不需要继续使用此连接时,记得关闭哦
58.socket.close();
59.} catch (UnknownHostException e) {
60.e.printStackTrace();
61.} catch (IOException e) {
62.e.printStackTrace();
63.}
64.}
65.}
以上就是对Server Socket通信的详细代码介绍,希望大家找到了自己需要的。
㈣ java如何实现网络通讯的,用到哪方面知识。举例说说。。。。
当服务复器启动时即建立制并启动等待客户端联机时线程,然后每当有客户端要联机时。程序便在建立一个可以等待客户端联机的线程,利用维护客户端联机时线程未读取客户端付来的消息,然后将此消息加入一个广播队列中,接着由广播消息到客户端的线程来广播队列中的消息的消息给每一个客户端。客户端的设计比较简单,主要是提供一些必要的用户界面,这前涉到版面的布局管理,AW7的组件和事件处理方法的基本操作。另外,客户端也会用到一个线程,主要是负责接受由服务器端付来的广播消息。
A. 能与服务器程序联机并且建立I/O管道;
B. 能发送消息到服务器程序。首先分别了解在服务器端和客户端的程序设计方法与体系结构。在服务器端使用了四个线程,其功能如下:
C. 等待客户端联机
D. 维护客户端联机
E. 广播消息到客户端
关键字:聊天室,服务器,客户线程,套接字
㈤ Java 网络通信异常求解
这个你这种方式是不能直接readObject的。除了服务器那边通过writeObject写对象回,客户端这边通过socket.getInputStream来readObject,这种要对象是序列化的,答不过一般不用这种方式。
另一种是像你这种,服务端那边直接写字节,客户端读取字节,然后解析,再给对象属性赋值,这种我们用的xsocket的框架,支持异步的,你可以到网上看下。
㈥ 做网络通信方面的东西 使用java好一些还是C++好一些
全球最犀利的网络通信设备提供商,如思科、华为、中兴、摩托罗拉、阿尔卡特等等,所有通信从主板到芯片都是用C语言写的,没听说过java这种垃圾还能跑起来的,用java做网络通信,山寨机吗?
㈦ JAVA网络通信小程序
呵呵 我这有一个简单的通信程序,今天刚写完的,发给你,希望对你有帮助!
㈧ 请问java中的网络通信有那些方式,有什么区别
分别是TCP和UDPTCD是一种面向连接的保证可靠传输的协议。通过TCP实现的传输,得到的是一个顺序的无差错的数据流。发送方和接收方成对的两个socket之间必须建立连接,以便在TCP的基础上进行通信,当一server socket)等个socket(通常都是等待建立连接时。 而UDP是一种无连接的协议,每个数据都是一个独立的信息,包括完整的源地址和目的地址 ,UDP是不可靠的。
㈨ java网络编程初学者
理论上 你想穿什么就可以穿什么!
必须不明白一下几个问题
1)套接字产生的流可以传版送任何权数据类型 ,比如String 类型 int 类型 char类型 但是有时候并不能直接传递 比如说是对象流 他能传递对象 也就是你说的类实例了 但是被传送的类的实例在申明的这个类时的时候必须实现序列化接口
2)关于流的使用时相当灵活的 ,很多时候并不直接使用DataInputStream and DataOutputStream 而是加上各种修饰器 ,另外灵活运用流相当重要,例如,你用DataInputStream传送文件 而不是传送File实例,哪么我们可以约定一个协议,例如 我们先传文件名,然后再传文件内容而此时我们可以把这个流的引用交给一个FileOutputStream 这样就可以实现文件的传送了。总之JavaAPI提供了所有可能的功能的基础类 ,灵活运用才能使他发挥作用 ,写程序时多想象问题,多去实现自己的想法,那样才能快速的学到东西!
有什么也可以和我交流 呵呵