今天玩游戏比较多,进展较慢。
只有socket的server端和client端的通信。
记多少敲多少:
#server端import socket Host =‘10.1.75.75‘ Port = 18000 s.socket.socket(s.socket_AF_INET,s.socket_STREAM) s.bind((Host,Port)) s.listen(1) while 1: date = s.sendall(s.receieved) if date not,break s.close()
#client端import socket Host = ‘10.1.75.74‘ Port = 18000 s.socket.socket(socket.AF_INET,s.socket.SOCK_STREAM) s.bind((Host,Port)) s.listen(1) conn,addr = "Connets from:",address s.received ="Hello World!" print s.receievd
后面是修改的。
server端:
- s = socket.socket() #s为定义值,第一个socket为调用socket函数,第二个是socket函数格式(famaly,Type[,protocal])
- socket_SOCK_STEARM #TCP书写格式,DGRAM为UDP,RAW为网络报文,RDM准确UDP(无序)
- conn,addr = s.accept() #从client获取数据和地址。到此为止才算建立起链接。
- 循环语句: print ‘Conneted by:‘,addr #打印从哪里获取的地址
- data = conn.recv(1024) #获取的报文内容
- if not data,break #如果data为空,则停止
- conn.close() #使用conn关闭
client端:
- 无s.bind() #因为无需绑定,只有server端才需要提供服务接口
- 无s.listen() #因为server提供服务,无需监听
- s.connet((Host,Port)) #需要链接server端地址
- s.sendall("Hello World!") # 进入输入界面,直接sendadd(‘data’)就可以了
- data = s.recv(1024) #接收返回信息
- s.close #关闭通道
- print ‘Receieved’,repr(data) #打印出收到的信息
妈蛋,没想到错这么多,所以是完全没理解咯。
明天起来再看一遍。
时间: 2024-10-07 13:32:42