JAVA socket通信 50

求代码客户端和服务端能相互通信比如客户端给服务端发一个信息服务端能显示服务端给客户端发一个信息客户端示(只有一个客户端但ip地址不固定)端口随便(是不是要用两个线程新手不... 求代码
客户端和服务端能相互通信 比如客户端给服务端发一个信息服务端能显示 服务端给客户端发一个信息客户端示 (只有一个客户端但ip地址不固定) 端口随便(是不是要用两个线程 新手不懂)
展开
 我来答
匿名用户
推荐于2017-11-25
展开全部
public class Client {
public static void main(String[] args) {
String s=null;
Socket mysocket;
DataInputStream in=null;
DataOutputStream out=null;
try {
mysocket=new Socket("127.0.0.1",4331);
in=new DataInputStream(mysocket.getInputStream());
out=new DataOutputStream(mysocket.getOutputStream());
for(int k=1;k<100;k=k+2){
out.writeUTF(""+k);
s=in.readUTF();
System.out.println("客户收到"+s);
Thread.sleep(500);
}
} catch (Exception e) {
System.out.println("服务器已断开"+e);
}
}
}

public class Server {
public static void main(String[] args) {
ServerSocket server=null;
Socket you=null;
String s=null;
DataOutputStream out=null;
DataInputStream in=null;
try {
server=new ServerSocket(4331);
} catch (Exception e) {
System.out.println(e);
}
try {
System.out.println("等待客户呼叫");
you=server.accept();
out=new DataOutputStream(you.getOutputStream());
in=new DataInputStream(you.getInputStream());
while(true){
s=in.readUTF();
int m=Integer.parseInt(s);
out.writeUTF("你好,我是服务器");
out.writeUTF("你说的数乘2后是:"+2*m);
System.out.println("服务器收到:"+s);
Thread.sleep(500);
}
} catch (Exception e) {
System.out.println("客户端已断开"+e);
}
}
}

很简单的服务器客户端程序
追问
我对I/O还不熟悉 这个要是想要手动输入怎么改
百度网友ff95df579
2013-11-20 · 超过10用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:34.1万
展开全部
这是我学SOCKET时敲得例子,非常简单,TCP协议:
客户端代码:
import java.net.*;
import java.io.*;
public class SocketClient{
public static void main(String args[]){
try{
//客户端连接服务器
Socket socket1 = new Socket("127.0.0.1",1989);
InputStream is = socket1.getInputStream();
DataInputStream dis = new DataInputStream(is);
//客户端接受服务器端的信息
System.out.println(dis.readUTF());
dis.close();
socket1.close();
}
catch(IOException e){
System.out.println("IO异常");
}
}
}
服务器代码:
import java.net.*;
import java.io.*;
public class SocketServer{
public static void main(String args[]){
try{
ServerSocket ss = new ServerSocket(1989);
Socket socket1 = ss.accept();
OutputStream os = socket1.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
//服务器端发给客户端的信息
dos.writeUTF("anyway,i need u!"+socket1.getInetAddress()+"port:"+socket1.getPort());
dos.close();
socket1.close();
}
catch(IOException e){
System.out.println("IO错误!");
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式