java中实现双向通信的简单介绍

博主:adminadmin 2023-01-10 22:36:09 705

今天给各位分享java中实现双向通信的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何用java实现webservice双向通信的实例

1.XML:描述数据的标准方法.

2.SOAP:表示信息交换的协议(简单对象访问协议).

3.WSDL:Web服务描述语言.

4.UDDI:通用描述、发现与集成,他是一种独立于平台,基于XML语言的用于在互联网上描述商务的协议。

java中如何使用rxtx进行串口通信,实现数据双向传输。

我和你恰好相反,我能写数据到下位机,读取不到,能交流一下吗

通过Java中的Socket技术编写能够进行双向通信的客户端和服务器,为了能够同时进行消息的发送和接受,在服

SocketClient1.java内容如下:

package com.polyphylla.socket;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.Socket;

import java.net.UnknownHostException;

public class SocketClient1 {

private Socket socket;

public SocketClient1() {

try {

socket = new Socket("127.0.0.1", 2222);

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* @param args

*/

public static void main(String[] args) {

new SocketClient1().startClient();

}

public void startClient() {

new Thread(new ClientReader(socket)).start();

new Thread(new ClientWriter(socket)).start();

}

}

class ClientReader implements Runnable {

private Socket socket;

public ClientReader(Socket socket) {

this.socket = socket;

}

public void run() {

BufferedReader br = getReader();

String msg = null;

try {

while ((msg = br.readLine()) != null) {

System.out.println("client:" + msg);

}

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

if (br != null)

br.close();

if (socket != null)

socket.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

private BufferedReader getReader() {

try {

return new BufferedReader(new InputStreamReader(socket

.getInputStream()));

} catch (IOException e) {

e.printStackTrace();

}

return null;

}

}

class ClientWriter implements Runnable {

private Socket socket;

public ClientWriter(Socket socket) {

this.socket = socket;

}

public void run() {

PrintWriter pw = getWriter();

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String str = null;

try {

while ((str = br.readLine()) != null) {

pw.println(str);

pw.flush();

}

} catch (IOException e) {

e.printStackTrace();

} finally {

if (pw != null)

pw.close();

try {

if (socket != null)

socket.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

private PrintWriter getWriter() {

try {

return new PrintWriter(socket.getOutputStream());

} catch (IOException e) {

e.printStackTrace();

}

return null;

}

}

SocketServer1.java内容如下:

package com.polyphylla.socket;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

public class SocketServer1 {

private ServerSocket ss;

public SocketServer1() {

try {

ss = new ServerSocket(2222);

} catch (IOException e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

new SocketServer1().startServer();

}

public void startServer() {

try {

while (true) {

Socket s = ss.accept();

new Thread(new ServerReader(s)).start();

new Thread(new ServerWriter(s)).start();

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

class ServerReader implements Runnable {

private Socket socket;

public ServerReader(Socket socket) {

this.socket = socket;

}

public void run() {

BufferedReader br = getReader();

String msg = null;

try {

while((msg = br.readLine()) != null) {

System.out.println("server:" + msg);

}

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

if(br != null)

br.close();

if(socket != null)

socket.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

private BufferedReader getReader() {

try {

return new BufferedReader(new InputStreamReader(socket.getInputStream()));

} catch (IOException e) {

e.printStackTrace();

}

return null;

}

}

class ServerWriter implements Runnable {

private Socket socket;

public ServerWriter(Socket socket) {

this.socket = socket;

}

public void run() {

PrintWriter pw = getWriter();

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String str = null;

try {

while((str = br.readLine()) != null) {

pw.println(str);

pw.flush();

}

} catch (IOException e) {

e.printStackTrace();

} finally {

if (pw != null)

pw.close();

try {

if (socket != null)

socket.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

private PrintWriter getWriter() {

try {

return new PrintWriter(socket.getOutputStream());

} catch (IOException e) {

e.printStackTrace();

}

return null;

}

}

(java编程)采用双向链表作数据结构,编写一个通讯录管理系统。

#include

#include

#include

using namespace std;

#define SIZE 10

struct AddrList

{

string name;

string sex;

int age;

string QQ;

}addrlist[SIZE];

int main()

{

int i;

int j;

cout"输入要输入的记录数量:";

cini;

if (iSIZE)

{

cout"输入的记录数量大于顺序表的最大长度!"endl;

return 0;

}

cout"输入格式:\n姓名 性别 年龄 QQ\n"endl;

for (j=0;ji;++j)

{

cout"输入第"j+1"条记录"endl;

cinaddrlist[j].nameaddrlist[j].sexaddrlist[j].ageaddrlist[j].QQ;

}

cout"\n姓名\t性别\t年龄\tQQ"endl;

for (j=0;ji;++j)

{

coutaddrlist[j].name"\t"addrlist[j].sex"\t"addrlist[j].age"\t"addrlist[j].QQendl;

}

return 0;

}

输入:2

张三 男 23 123456

李四 女 24 66666

java中实现双向通信的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java中实现双向通信的信息别忘了在本站进行查找喔。