用java socket实现client与server通信,客户端向服务端发送字符串, 服务端再返回,把返回的变成大写。

用java socket实现client与server通信,客户端向服务端发送字符串, 服务端再返回,把返回的变成大写。客户端的字符串由键盘输入得到,程序需要做成多线程的。能否提供一下程序

第1个回答  推荐于2017-11-28
import java.io.*;
import java.util.*;
import java.net.*;
public class Client { //客户端
public static void main(String args[])throws Exception
{
String clientMessage;//来自用户输入的的信息
String serverMessage; //服务器端的信息
Socket ClientSocket=new Socket("127.0.0.0",5557);//参数是本机地址和端口,客户端套接字,发起TCP连接
BufferedReader fromUser=new BufferedReader(new InputStreamReader(System.in));//字符读取流,获取从键盘输入的字符
BufferedReader fromServer=new BufferedReader(new InputStreamReader(ClientSocket.getInputStream()));//获取从服务器端的流,建立套接字输入流
DataOutputStream toServer=new DataOutputStream(ClientSocket.getOutputStream());//建立套接字输出流
clientMessage=fromUser.readLine();//读取从用户的输入
toServer.writeBytes(clientMessage);//写到服务器端
serverMessage=fromServer.readLine();//从服务器端读取
ClientSocket.close();//关闭套接字连接
}

}
import java.io.*;
import java.net.*; //服务器端
public class Server {
public static void main(String args[])throws Exception
{
String ClientMessage;
String ServerMessage;
ServerSocket serversocket=new ServerSocket(5557);//端口要和客户端对应
System.out.println("正在监听5555端口");//
while(true)
{
Socket collection=serversocket.accept();//调用accept()函数,建立TCP连接
DataInputStream fromClient=new DataInputStream(collection.getInputStream());
DataOutputStream toClient=new DataOutputStream(collection.getOutputStream());
ClientMessage=fromClient.readUTF();//接收来自客户端的信息
ServerMessage=ClientMessage.toUpperCase();//转换为大写
toClient.writeBytes(ServerMessage);//写到服务器端
System.out.println("成功建立TCP连接");
}
}

}追问

谢谢提供程序,但我在执行java Client,输入字符串test,在server端无返回值。

追答

先执行server,再执行client,在客户端加上System.out.println(serverMessage);
toServer.writeBytes(clientMessage);->toServer.writeUTF(clientMessage);

本回答被网友采纳
第2个回答  2011-10-27
没有注释的代码是可耻的

...的Socket技术编写能够进行双向通信的客户端和服务器,为了能够同时进 ...
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 { so...

java中用socket实现客户端与服务端双向连接问题
\/\/服务端程序:import java.io.*;import java.net.*;public class TCPServer {public static void main(String[] args) throws IOException {new TCPServer().init();}@SuppressWarnings("static-access")private void init() throws IOException{@SuppressWarnings("resource")ServerSocket server = n...

用java写一个客户端,向本机中发送snmp命令,拿到snmp服务器返回的结果...
”“如果以前那次我抓住了机会,我就……”也许,我们每一个人都曾经说过同样的如果和作过同样的假设,但是,人生是不能重来的,因为人生没有如果,命运也不相信假设,因为有了因为,所以有了所以,既然已成既然,何必再说何必?学会珍惜,珍惜亲情。。亲情,是在一个人还没有来到这个世界前就先期而至...

java socket如何实现客户端与客户端的交互?
1、服务端监听一个端口,其它客户端都通过这个端口和服务端进行通信。2、每个客户端连接上来,服务端给其一个标识ID。然后向其它所有客户端广播一下有新客户端接入,ID多少。3、客户端要向客户端发送消息,可以以消息包的形式发送,就是把目的客户端的标识和发送的内容组成一个数据包发往服务器,服务器...

如何使用java socket来传输自定义的数据包?
创建Socket java在包java.net中提供了两个类Socket和ServerSocket,分别用来表示双向连接的客户端和服务端。这是两个封装得非常好的类,使用很方便。其构造方法如下:Socket(InetAddress address, int port);Socket(InetAddress address, int port, boolean stream);Socket(String host, int prot);Socket(...

java中socket如何让服务端一直等待,客户端每隔一段时间链接一次_百度...
1、服务端 使用ServerSocket 在确定端口之后,调用accept() 方法 。 这样 服务端就会阻塞在accept() 这里 直到有客户端请求过来 才会接着往下执行,后面你就写获取文件夹内容的具体逻辑代码 然后写入流里面 传回给客户端就可以了 2、客户端 客户端你要求每隔一段时间 有很多种方法可以实现 比如说写...

怎样写一个client sever程序
如果仅仅这点要求的话,下面的代码即可搞定,先运行服务器端再运行客户端.然后客户端即可向服务端发送字符串.import java.io.*;import java.net.*;class TestClient { public static void main( String[] arg) throws Exception{ Socket s = new Socket("localhost",8888);System.out.print("...

java编程中,Socket通信是怎么实现的?
java编程对于Socket之间的通信过程如下:服务端往Socket的输出流里面写东西,客户端就可以通过Socket的输入流读取对应的内容。Socket与Socket之间是双向连通的,所以客户端也可以往对应的Socket输出流里面写东西,然后服务端对应的Socket的输入流就可以读出对应的内容。下面来看一些服务端与客户端通信的例子:publi...

浅谈Java中如何利用socket进行网络编程(一)
Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上的数据的传递。在java中,有专门的socket类来处理用户的请求和响应。利用SOCKET类的方法,就可以实现两台计算机之间的通讯。这里就介绍一下在JAVA中如何利用socket进行网络编程。 在Java中...

Java sockt如何在客户端异步接收服务器返回值? 高手!
服务端接收到客户端的数据后,会在Server得到一个类似client的socket对象,数据是直接返回这个这个对象的,那么client只需要用发送的时候使用的socket对象接收就可以了

相似回答