先吐个槽。。。
今天苦逼透了,按照进度应该是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"/>
代码