Socket TCP的幼齿代码。。。

本文介绍了一个简单的Java网络通信示例,包括服务器端和客户端的实现代码。服务器端使用ServerSocket监听客户端连接请求,并向客户端发送编码为UTF-8的消息。客户端通过Socket连接服务器并读取服务器发送的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先吐个槽。。。

今天苦逼透了,按照进度应该是googlemap了,然则,你妹的为什么注册网页打开了,注册那一点点打不开啊???!!!小爷刷网页刷的想哭啊,神马安全级别神马各种协议都允许了啊,换了n个浏览器啊,找个无数人帮刷啊。。。还是打不开啊。。。翻墙软件都弄来了啊,还是打不开啊,上午都浪费在这里了啊。。。

然后无奈看下一季视频啊,讲来讲去都是理论啊,没有看到实践我就颓了啊。。。

然后换看书啊。。。那么简单的代码我就各种被折腾啊。。。

先是莫名的不能编译java啊,然后苦逼的把控件托错了啊。。。然后各种找错误啊。。。泥煤啊。。。

终于搞通了,一天几乎过去了啊,一天。。。

 

 

1.先写服务器端SimpleServer,直接创建个java文件,然后使用javac编译,java运行

import java.net.*;
import java.io.*;
public class SimpleServer {
 public static void main(String[] args)throws IOException
 {
  //创建一个ServerSocket,用于监听客户端的Socket连接请求
  ServerSocket ss = new ServerSocket(30000);
  while(true)
  {
   //采用循环,不断接受客户端的连接请求
   Socket s = ss.accept();
   //返回该Socket的输出流
   OutputStream os = s.getOutputStream();
   //android读取网络数据时,默认使用utf-8字符集解码,
   //所以,这里手动控制字符串的编码,强行指定使用utf-8进行编码
   os.write("merry christmas噜噜噜~~~".getBytes("utf-8"));
   //关闭输出流,关闭socket
   os.close();
   s.close();
  }
 }
}

 

2.客户端就是一个edittext,程序实现从服务端接收消息

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        show = (EditText) findViewById(R.id.show);
        try
        {
         //建立连接到远程服务器的Socket
         Socket socket = new Socket("222.18.174.134",30000);
         //将socket对应的输入流包装成BufferedReader
         BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
         //进行IO操作
         String line = br.readLine();
         show.setText("来自服务器的数据" + line);
         //关闭输入流,socket
         br.close();
         socket.close();
        }
        catch(IOException e)
        {
         e.printStackTrace();
        }
    }

3.记得授权啊亲

 <!--  授权访问互联网-->
 <uses-permission android:name="android.permission.INTERNET"/>

 

代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值