JAVA socket通信 50
求代码客户端和服务端能相互通信比如客户端给服务端发一个信息服务端能显示服务端给客户端发一个信息客户端示(只有一个客户端但ip地址不固定)端口随便(是不是要用两个线程新手不...
求代码
客户端和服务端能相互通信 比如客户端给服务端发一个信息服务端能显示 服务端给客户端发一个信息客户端示 (只有一个客户端但ip地址不固定) 端口随便(是不是要用两个线程 新手不懂) 展开
客户端和服务端能相互通信 比如客户端给服务端发一个信息服务端能显示 服务端给客户端发一个信息客户端示 (只有一个客户端但ip地址不固定) 端口随便(是不是要用两个线程 新手不懂) 展开
2个回答
推荐于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还不熟悉 这个要是想要手动输入怎么改
展开全部
这是我学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错误!");
}
}
}
客户端代码:
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错误!");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |