【android】Socket简单用法

public void run() {

BufferedReader in;

try {

in = new BufferedReader(new InputStreamReader(

socket.getInputStream(), “UTF-8”));

PrintWriter out = new PrintWriter(

socket.getOutputStream());

while (!socket.isClosed()) {

String str;

str = in.readLine();

out.println("Hello!world!! " + str);

out.flush();

if (str == null || str.equals(“end”))

break;

System.out.println(str);

}

socket.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}).start();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

SocketClient类,客户端实现:

public class SocketClient {

static Socket client;

public SocketClient(String site, int port) {

try {

client = new Socket(site, port);

System.out.println(“Client is created! site:” + site + " port:"

  • port);

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

public String sendMsg(String msg) {

try {

BufferedReader in = new BufferedReader(new InputStreamReader(

client.getInputStream()));

PrintWriter out = new PrintWriter(client.getOutputStream());

out.println(msg);

out.flush();

return in.readLine();

} catch (IOException e) {

e.printStackTrace();

}

return “”;

}

public void closeSocket() {

try {

client.close();

} catch (IOException e) {

e.printStackTrace();

}

}

public static void main(String[] args) throws Exception {

}

}

接下来就是来测试Socket通信了!

先运行TestSocketServer类,打开服务端,在12345端口处监听!

public class TestSocketServer {

public static void main(String[] argvs) {

SocketServer server = new SocketServer(12345);

server.beginListen();

}

}

再运行TestSocketClient类:

public class TestSocketClient {

public static void main(String[] args) {

SocketClient client = new SocketClient(“127.0.0.1”, 12345);

System.out.println(client.sendMsg(“nimei1”));

client.closeSocket();

SocketClient client1 = new SocketClient(“127.0.0.1”, 12345);

System.out.println(client1.sendMsg(“nimei1111”));

client1.closeSocket();

SocketClient client11 = new SocketClient(“127.0.0.1”, 12345)​
;

System.out.println(client11.sendMsg(“nimei11111111”));

client11.closeSocket();

SocketClient client111 = new SocketClient(“127.0.0.1”, 12345);

System.out.println(client111.sendMsg(“nimei11111111111111111”));

client111.closeSocket();

}

}

输出结果如下:

服务端:

Client is created! site:127.0.0.1 port:12345

Hello!world!! nimei1

Client is created! site:127.0.0.1 port:12345

Hello!world!! nimei1111

Client is created! site:127.0.0.1 port:12345

Hello!world!! nimei11111111

Client is created! site:127.0.0.1 port:12345

Hello!world!! nimei11111111111111111

最后

小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取
d工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助**。

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

[外链图片转存中…(img-AGNRuZmh-1719094413069)]一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值