码迷,mamicode.com
首页 > 其他好文 > 详细

初识socket

时间:2019-01-04 22:02:19      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:soc   网络通   rom   字节   .so   style   绑定ip   recv   client   

通过简单学习C/S网络构架与网络通信流程.知道:端口+IP能够确定一台电脑上的某一个应用程序.

以访问京东为例,可以分析出需要一个服务器端和一个客户端.

Server端:

#导入socket模块
import socket
server = socket.socket()            #创建socket对象,创建了一个手机
ip_port = (‘192.168.12.11‘,8002)    #给程序设置一个ip地址和端口号,买了个手机卡
server.bind(ip_port)                #绑定ip地址和端口,插卡
server.listen()                     #监听ip地址和端口,简称开机
print(‘111111‘)                     #测试程序等待执行到哪
conn,addr = server.accept()         #等待建立连接, conn是连接通道,addr是客户端的地址,阻塞程序
print(‘222222‘)
                                    #服务端通过conn连接通道来收发消息,通过recv方法,recv里面的参数是字节(B),1024的意思1024B=1KB
from_client_msg = conn.recv(1024)

print(‘高旺说:‘,from_client_msg.decode(‘utf-8‘))

to_client_msg = input(‘高旺的女朋友说:‘)

conn.send(to_client_msg.encode(‘utf-8‘)) #回复消息:通过send方法,参数必须是字节类    型的,

conn.close()                         #关闭通道,关电话,通过close方法
server.close()                       #关闭socket对象,关机
                                    

注:服务器端是通过通道(conn)来回复消息(发送消息)  

Client端:

#导入socket
import socket                                       #创建一个socket对象
client = socket.socket()                         #找到服务端的ip地址和端口
server_ip_port = (‘192.168.12.11‘,8002)  
client.connect(server_ip_port)          #连接服务端的应用程序,通过connect方法,参数是服务端的ip地址和端口,打电话
to_server_msg = input(‘高旺说:‘ client.send(to_server_msg.encode(‘utf-8‘)) #发消息,用的send方法,但是调用者是client的socket对象
from_server_msg = client.recv(1024)
print(‘高旺的女朋友说:‘,from_server_msg.decode(‘utf-8‘))
client.close()

 注:客户端是建立的对象.send信息

2.  一直对话的程序

      server收一个发一个
      client发一个收一个
服务器端:
import socket
server = socket.socket()
ip_port = ("127.0.0.1",8006)
server.bind(ip_port)
server.listen()
conn,addr = server.accept()#等待建立连接
while 1:
    from_client_msg = conn.recv(1024)
    print("客户端说:",from_client_msg.decode("utf-8"))
    server_send_msg = input("服务器说:")
    conn.send(server_send_msg.encode("UTF-8"))

  服务器建立对象,绑定ip和端口,监听;接受建立通道和地址;

客户端:

import socket
client = socket.socket()
client.connect(("127.0.0.1",8006)) #建立连接
while 1:
    to_server_msg = input("客户端说:")
    client.send(to_server_msg.encode("utf-8"))
    from_server_msg = client.recv(1024).decode("utf-8")
    print("服务器说:",from_server_msg)

  客户端对象,连接服务器ip和端口.

 

初识socket

标签:soc   网络通   rom   字节   .so   style   绑定ip   recv   client   

原文地址:https://www.cnblogs.com/kevin-red-heart/p/10222672.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!