1)使用ServerSocket创建TCP服务器端
ServerSocket对象用于监听来自客户端的Socket链接,如果没有链接,它将一直处于等待状态。
Socket accept()
例如下是一个Java程序作为服务器端,不是Android项目,需在PC上运行
import java.net.;
import java.io.;
/**
- Description:
- <br/>网站: <a href="慕课网" target="_blank" rel="nofollow">http://www.imooc.com/article">慕课网</a>
- <br/>Copyright (C), 2001-2014, Yeeku.H.Lee
- <br/>This program is protected by copyright laws.
- <br/>Program Name:
- <br/>Date:
- @author Yeeku.H.Lee kongyeeku@163.com
- @version 1.0
*/
public class SimpleServer
{
public static void main(String[] args)
throws IOException
{
// 创建一个ServerSocket,用于监听客户端Socket的连接请求
ServerSocket ss = new ServerSocket(30000); //①
// 采用循环不断接受来自客户端的请求
while (true)
{
// 每当接受到客户端Socket的请求,服务器端也对应产生一个Socket
Socket s = ss.accept();
OutputStream os = s.getOutputStream();
os.write("您好,您收到了服务器的新年祝福!\n"
.getBytes("utf-8"));
// 关闭输出流,关闭Socket
os.close();
s.close();
}
}
}
2)使用Socket进行通信
Socket(InetAddress/String remoteAddress, int port);
InputStream getInputStream();
OutputStream getOutputStream();
如下的一个客户端类 ,为Android项目:
public class SimpleClient extends Activity
{
EditText show;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
show = (EditText) findViewById(R.id.show);
new Thread()
{
@Override
public void run()
{
try
{
// 建立连接到远程服务器的Socket
Socket socket = new Socket("192.168.1.88" , 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();
}
}
}.start();
}
}
点击查看更多内容
12人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦